diff options
author | Owen W. Taylor <otaylor@redhat.com> | 2008-09-22 11:04:26 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2008-09-22 11:04:26 -0400 |
commit | 722c51960dd4948b8a64f8eff115fa69da597ef9 (patch) | |
tree | 8b4dcf5d8ce3cd765d8f6a9543193c2e82e73c26 /dix/window.c | |
parent | 0bb317a78b96fddcdac319c9706b3a12f931ea44 (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.c | 5 |
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, |