From 9914784594713f184c58e37def1d136c6af394a9 Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Wed, 14 Aug 2019 20:36:08 -0400 Subject: 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. --- include/wlr/types/wlr_xdg_shell.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/wlr/types/wlr_xdg_shell.h b/include/wlr/types/wlr_xdg_shell.h index e8c12ae9..70572bf5 100644 --- a/include/wlr/types/wlr_xdg_shell.h +++ b/include/wlr/types/wlr_xdg_shell.h @@ -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; -- cgit v1.2.3