xserver: Branch 'master'

Adam Jackson ajax at kemper.freedesktop.org
Mon Sep 22 08:05:03 PDT 2008


 dix/window.c |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 722c51960dd4948b8a64f8eff115fa69da597ef9
Author: Owen W. Taylor <otaylor at redhat.com>
Date:   Mon Sep 22 11:04:26 2008 -0400

    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.

diff --git a/dix/window.c b/dix/window.c
index 6cba23d..116c1e5 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,


More information about the xorg-commit mailing list