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 );