Set the view to NULL when unmapping an X11 window

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@gmail.com>
This commit is contained in:
Dima Ryazanov 2013-11-15 02:01:18 -08:00 committed by Kristian Høgsberg
parent 767d891c35
commit e5a3208373

View file

@ -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 *