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.
This commit is contained in:
Owen W. Taylor 2008-09-22 11:04:26 -04:00 committed by Adam Jackson
parent 0bb317a78b
commit 722c51960d

View File

@ -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,