wlr_xdg_toplevel: reparent on parent unmap

From the xdg-shell specification:
	If the parent is unmapped then its children are managed as
	though the parent of the now-unmapped parent has become the
	parent of this surface. If no parent exists for the now-unmapped
	parent then the children are managed as though they have no
	parent surface.
This commit is contained in:
Brian Ashworth 2019-08-14 20:36:08 -04:00 committed by Simon Ser
parent 8d2ea9544b
commit 9914784594
3 changed files with 36 additions and 3 deletions

View file

@ -117,9 +117,11 @@ struct wlr_xdg_toplevel_state {
struct wlr_xdg_toplevel {
struct wl_resource *resource;
struct wlr_xdg_surface *base;
struct wlr_xdg_surface *parent;
bool added;
struct wlr_xdg_surface *parent;
struct wl_listener parent_unmap;
struct wlr_xdg_toplevel_state client_pending;
struct wlr_xdg_toplevel_state server_pending;
struct wlr_xdg_toplevel_state current;