diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2014-04-07 10:16:19 -0700 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2014-04-07 10:16:19 -0700 |
commit | ba83db216ca8b84c250f9902fbbd4883cf63912b (patch) | |
tree | 661c726f4e3bb7b4bc0244218bf6b82f8532e1c5 | |
parent | d7fb309dd0a4b0d718c577738926516fc768428e (diff) | |
download | weston-ba83db216ca8b84c250f9902fbbd4883cf63912b.tar.gz |
xwayland: Clean up unpaired surfaces
-rw-r--r-- | xwayland/window-manager.c | 5 |
1 files changed, 5 insertions, 0 deletions
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); } |