summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@redhat.com>2008-09-22 11:04:26 -0400
committerAdam Jackson <ajax@redhat.com>2008-09-22 11:04:26 -0400
commit722c51960dd4948b8a64f8eff115fa69da597ef9 (patch)
tree8b4dcf5d8ce3cd765d8f6a9543193c2e82e73c26
parent0bb317a78b96fddcdac319c9706b3a12f931ea44 (diff)
Don't remap windows for SaveSetUnmap
Since ReparentWindow() does a unmap/map pair for windows that are already mapped, for saveset windows with SaveSetUnmap, we must unmap the window before calling ReparentWindow() to avoid the generation of MapRequest events, and so forth.
-rw-r--r--dix/window.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/dix/window.c b/dix/window.c
index 6cba23d0b..116c1e554 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -3026,6 +3026,11 @@ HandleSaveSet(ClientPtr client)
{
if (pParent != pWin->parent)
{
+#ifdef XFIXES
+ /* unmap first so that ReparentWindow doesn't remap */
+ if (!SaveSetRemap (client->saveSet[j]))
+ UnmapWindow(pWin, FALSE);
+#endif
ReparentWindow(pWin, pParent,
pWin->drawable.x - wBorderWidth (pWin) - pParent->drawable.x,
pWin->drawable.y - wBorderWidth (pWin) - pParent->drawable.y,