xorg/xserver/xorg/composite
sandmann
freedesktop-cvs-commits at pdx.freedesktop.org
Fri Jan 13 00:14:55 EET 2006
CVS commit by sandmann:
Thu Jan 12 17:09:18 2006 Søren Sandmann <sandmann at redhat.com>
* include/window.[ch]: Add new functions to enable and disable
events on Map and Unmap.
* composite/compalloc.c: Use them here to make sure Composite
redirect doesn't cause Map/UnmapNotify events that would confuse
window managers.
M +13 -1 xorg/xserver/xorg/composite/compalloc.c 1.8
--- xorg/xserver/xorg/composite/compalloc.c #1.7:1.8
@@ -102,5 +102,9 @@ compRedirectWindow (ClientPtr pClient, W
}
if (wasMapped)
+ {
+ DisableMapUnmapEvents (pWin);
UnmapWindow (pWin, FALSE);
+ EnableMapUnmapEvents (pWin);
+ }
REGION_NULL (pScreen, &cw->borderClip);
@@ -136,5 +140,7 @@ compRedirectWindow (ClientPtr pClient, W
Bool overrideRedirect = pWin->overrideRedirect;
pWin->overrideRedirect = TRUE;
+ DisableMapUnmapEvents (pWin);
MapWindow (pWin, pClient);
+ EnableMapUnmapEvents (pWin);
pWin->overrideRedirect = overrideRedirect;
}
@@ -170,5 +176,9 @@ compFreeClientWindow (WindowPtr pWin, XI
{
if (wasMapped)
+ {
+ DisableMapUnmapEvents (pWin);
UnmapWindow (pWin, FALSE);
+ EnableMapUnmapEvents (pWin);
+ }
if (pWin->redirectDraw)
@@ -194,5 +204,7 @@ compFreeClientWindow (WindowPtr pWin, XI
Bool overrideRedirect = pWin->overrideRedirect;
pWin->overrideRedirect = TRUE;
+ DisableMapUnmapEvents (pWin);
MapWindow (pWin, clients[CLIENT_ID(id)]);
+ EnableMapUnmapEvents (pWin);
pWin->overrideRedirect = overrideRedirect;
}
More information about the xorg-commit
mailing list