[x11] Use XWithdrawWindow()
authorEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 24 Apr 2009 13:59:18 +0000 (14:59 +0100)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Fri, 24 Apr 2009 14:25:31 +0000 (15:25 +0100)
Bug 1516 - Does not withdraw toplevels correctly

clutter_stage_x11_hide() needs to use XWithdrawWindow(), not
XUnmapWindow().

As it stands now, if the window is already unmapped (say the WM has
minimized it), then the WM will not know that Clutter has closed the
window and will keep the window managed, showing it in the task list
and so forth.

clutter/x11/clutter-stage-x11.c

index aa09171..2c4592a 100644 (file)
@@ -154,7 +154,7 @@ clutter_stage_x11_hide (ClutterActor *actor)
   ClutterStageX11 *stage_x11 = CLUTTER_STAGE_X11 (actor);
 
   if (stage_x11->xwin)
-    XUnmapWindow (stage_x11->xdpy, stage_x11->xwin);
+    XWithdrawWindow (stage_x11->xdpy, stage_x11->xwin, stage_x11->xscreen);
 }
 
 void