x11: Remove destroy listener when X11 window is destroyed

dev
Kristian Høgsberg 13 years ago
parent a42c128201
commit facb558448
  1. 3
      compositor/xserver-launcher.c

@ -691,6 +691,7 @@ wlsc_wm_handle_create_notify(struct wlsc_wm *wm, xcb_generic_event_t *event)
return; return;
} }
memset(window, 0, sizeof *window);
window->id = create_notify->window; window->id = create_notify->window;
hash_table_insert(wm->window_hash, window->id, window); hash_table_insert(wm->window_hash, window->id, window);
} }
@ -714,6 +715,8 @@ wlsc_wm_handle_destroy_notify(struct wlsc_wm *wm, xcb_generic_event_t *event)
fprintf(stderr, "destroy window %p\n", window); fprintf(stderr, "destroy window %p\n", window);
hash_table_remove(wm->window_hash, window->id); hash_table_remove(wm->window_hash, window->id);
if (window->surface)
wl_list_remove(&window->surface_destroy_listener.link);
free(window); free(window);
} }

Loading…
Cancel
Save