summaryrefslogtreecommitdiff
path: root/dix/window.c
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 /dix/window.c
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.
Diffstat (limited to 'dix/window.c')
-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,