[PATCH xwayland] Set the view to NULL when unmapping an X11 window

Dima Ryazanov dima at gmail.com
Fri Nov 1 00:46:28 PDT 2013


Fixes a crash caused by accessing a deleted view in weston_wm_window_schedule_repaint. It can be easily reproduced by switching between menus in Firefox.

Signed-off-by: Dima Ryazanov <dima at gmail.com>
---
 src/xwayland/window-manager.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index b2776a0..5ee9480 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/window-manager.c
@@ -902,6 +902,7 @@ weston_wm_handle_unmap_notify(struct weston_wm *wm, xcb_generic_event_t *event)
 		wl_list_remove(&window->surface_destroy_listener.link);
 	window->surface = NULL;
 	window->shsurf = NULL;
+	window->view = NULL;
 	xcb_unmap_window(wm->conn, window->frame_id);
 }
 
@@ -2028,6 +2029,7 @@ surface_destroy(struct wl_listener *listener, void *data)
        Don't try to use it later. */
 	window->shsurf = NULL;
 	window->surface = NULL;
+	window->view = NULL;
 }
 
 static struct weston_wm_window *
-- 
1.8.3.2



More information about the wayland-devel mailing list