summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiulio Camuffo <giuliocamuffo@gmail.com>2013-09-17 16:43:45 +0200
committerKristian Høgsberg <krh@bitplanet.net>2013-09-21 11:27:19 -0700
commit85739eab1219d68d6f7548a62c3ec1c8d0a19c41 (patch)
tree125c5b62243a83921a846bd2dd8e8a38848a10c6
parent5e396ae9ae0e8d869d8ba162558f2721e568e187 (diff)
downloadweston-85739eab1219d68d6f7548a62c3ec1c8d0a19c41.tar.gz
weston-85739eab1219d68d6f7548a62c3ec1c8d0a19c41.tar.bz2
weston-85739eab1219d68d6f7548a62c3ec1c8d0a19c41.zip
xwm: set the window's shsurf pointer to NULL on unmap handling
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.
-rw-r--r--src/xwayland/window-manager.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index b4f64d30..3b88dac5 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);
}