Skip queue cleanups if queue has been destroyed already.
diff --git a/server/window.c b/server/window.c
index 8e8af4b..1a3c4f2 100644
--- a/server/window.c
+++ b/server/window.c
@@ -251,8 +251,11 @@
if (ptr->owner == win) ptr->owner = NULL;
}
- if (win->paint_count) inc_queue_paint_count( win->thread, -win->paint_count );
- queue_cleanup_window( win->thread, win->handle );
+ if (win->thread->queue)
+ {
+ if (win->paint_count) inc_queue_paint_count( win->thread, -win->paint_count );
+ queue_cleanup_window( win->thread, win->handle );
+ }
free_user_handle( win->handle );
destroy_properties( win );
unlink_window( win );