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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel