diff --git a/hw/xwayland/xwayland-window.c b/hw/xwayland/xwayland-window.c index a04801bae..7549d4fad 100644 --- a/hw/xwayland/xwayland-window.c +++ b/hw/xwayland/xwayland-window.c @@ -1930,11 +1930,15 @@ xwl_destroy_window(WindowPtr window) { ScreenPtr screen = window->drawable.pScreen; struct xwl_screen *xwl_screen = xwl_screen_get(screen); + struct xwl_window *xwl_window = xwl_window_get(window); Bool ret; if (xwl_screen->present) xwl_present_cleanup(window); + if (xwl_window) + xwl_window_dispose(xwl_window); + screen->DestroyWindow = xwl_screen->DestroyWindow; if (screen->DestroyWindow)