From b06535718dd61d99ca904e4dbb503b8857456c46 Mon Sep 17 00:00:00 2001 From: emersion Date: Fri, 8 Dec 2017 01:38:45 +0100 Subject: Do not destroy wl_client in wlr_xwayland_finish --- xwayland/xwm.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'xwayland/xwm.c') diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 562f2052..3250a97d 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -1045,6 +1045,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); } @@ -1052,6 +1058,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); -- cgit v1.2.3