the unmap event will be followed by the deletion of the weston_surface,
so the shell_surface will also be deleted by the shell. Having removed
the surface_destroy_listener, the surface_destroy callback doesn't
get called, so reset the value of shsurf here.
---
 src/xwayland/window-manager.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index b4f64d3..3b88dac 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/window-manager.c
@@ -877,6 +877,7 @@ weston_wm_handle_unmap_notify(struct weston_wm *wm, 
xcb_generic_event_t *event)
        if (window->surface)
                wl_list_remove(&window->surface_destroy_listener.link);
        window->surface = NULL;
+       window->shsurf = NULL;
        xcb_unmap_window(wm->conn, window->frame_id);
 }
 
-- 
1.8.4

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to