aboutsummaryrefslogtreecommitdiff
path: root/xwayland/xwm.c
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2017-12-14 23:59:04 +0100
committeremersion <contact@emersion.fr>2017-12-14 23:59:04 +0100
commit6b42bfad18f7bcb08ef031c699159d40ff6ac2a0 (patch)
treec8c24d5cf48c8a7487499d37da92e1bf7da419b9 /xwayland/xwm.c
parentb884025558e750268a06818dc63bc46716c75843 (diff)
parent23fb663ea4eaff436d9bfab7f74cdd298fac44c5 (diff)
Merge branch 'master' into xwm-selection
Diffstat (limited to 'xwayland/xwm.c')
-rw-r--r--xwayland/xwm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/xwayland/xwm.c b/xwayland/xwm.c
index c3edebd2..2e859460 100644
--- a/xwayland/xwm.c
+++ b/xwayland/xwm.c
@@ -1093,6 +1093,12 @@ void xwm_destroy(struct wlr_xwm *xwm) {
if (xwm->cursor) {
xcb_free_cursor(xwm->xcb_conn, xwm->cursor);
}
+ if (xwm->colormap) {
+ xcb_free_colormap(xwm->xcb_conn, xwm->colormap);
+ }
+ if (xwm->window) {
+ xcb_destroy_window(xwm->xcb_conn, xwm->window);
+ }
if (xwm->event_source) {
wl_event_source_remove(xwm->event_source);
}
@@ -1100,6 +1106,9 @@ void xwm_destroy(struct wlr_xwm *xwm) {
wl_list_for_each_safe(xsurface, tmp, &xwm->surfaces, link) {
wlr_xwayland_surface_destroy(xsurface);
}
+ wl_list_for_each_safe(xsurface, tmp, &xwm->unpaired_surfaces, link) {
+ wlr_xwayland_surface_destroy(xsurface);
+ }
wl_list_remove(&xwm->compositor_surface_create.link);
xcb_disconnect(xwm->xcb_conn);