From ba83db216ca8b84c250f9902fbbd4883cf63912b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 7 Apr 2014 10:16:19 -0700 Subject: xwayland: Clean up unpaired surfaces --- xwayland/window-manager.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'xwayland') diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c index 7a042e57..699bade5 100644 --- a/xwayland/window-manager.c +++ b/xwayland/window-manager.c @@ -681,6 +681,8 @@ weston_wm_create_surface(struct wl_listener *listener, void *data) if (window->surface_id == wl_resource_get_id(surface->resource)) { xserver_map_shell_surface(window, surface); + window->surface_id = 0; + wl_list_remove(&window->link); break; } } @@ -1120,6 +1122,9 @@ weston_wm_window_destroy(struct weston_wm_window *window) window->frame_id = XCB_WINDOW_NONE; } + if (window->surface_id) + wl_list_remove(&window->link); + hash_table_remove(window->wm->window_hash, window->id); free(window); } -- cgit v1.2.1