diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2017-11-04 23:51:30 +0100 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2018-02-26 04:54:35 +0100 |
commit | 50a33794069fd22e615f6208cd4c82a64452b485 (patch) | |
tree | c272cfb28c3d5c1940332d118993514907993188 /nx-X11/programs/Xserver/dix/window.c | |
parent | b40dec982d17b010cedc183ebdc4c75ca7de785f (diff) | |
download | nx-libs-50a33794069fd22e615f6208cd4c82a64452b485.tar.gz nx-libs-50a33794069fd22e615f6208cd4c82a64452b485.tar.bz2 nx-libs-50a33794069fd22e615f6208cd4c82a64452b485.zip |
Lift dix to xorg-xserver-7.1/1.1.0 state
Diffstat (limited to 'nx-X11/programs/Xserver/dix/window.c')
-rw-r--r-- | nx-X11/programs/Xserver/dix/window.c | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/nx-X11/programs/Xserver/dix/window.c b/nx-X11/programs/Xserver/dix/window.c index ba9cfc2d2..7cb5a5f4b 100644 --- a/nx-X11/programs/Xserver/dix/window.c +++ b/nx-X11/programs/Xserver/dix/window.c @@ -358,6 +358,10 @@ AllocateWindow(ScreenPtr pScreen) else ppriv->ptr = (void *)NULL; } +#if _XSERVER64 + pWin->drawable.pad0 = 0; + pWin->drawable.pad1 = 0; +#endif } return pWin; } @@ -2709,7 +2713,7 @@ MapWindow(register WindowPtr pWin, ClientPtr client) } pWin->mapped = TRUE; - if (SubStrSend(pWin, pParent)) + if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin)) { memset(&event, 0, sizeof(xEvent)); event.u.u.type = MapNotify; @@ -2968,7 +2972,7 @@ UnmapWindow(register WindowPtr pWin, Bool fromConfigure) if ((!pWin->mapped) || (!(pParent = pWin->parent))) return(Success); - if (SubStrSend(pWin, pParent)) + if (SubStrSend(pWin, pParent) && MapUnmapEventsEnabled(pWin)) { memset(&event, 0, sizeof(xEvent)); event.u.u.type = UnmapNotify; @@ -3271,6 +3275,29 @@ SendVisibilityNotify(WindowPtr pWin) DeliverEvents(pWin, &event, 1, NullWindow); } +static WindowPtr windowDisableMapUnmapEvents; + +void +DisableMapUnmapEvents(WindowPtr pWin) +{ + assert (windowDisableMapUnmapEvents == NULL); + + windowDisableMapUnmapEvents = pWin; +} + +void +EnableMapUnmapEvents(WindowPtr pWin) +{ + assert (windowDisableMapUnmapEvents != NULL); + + windowDisableMapUnmapEvents = NULL; +} + +Bool +MapUnmapEventsEnabled(WindowPtr pWin) +{ + return pWin != windowDisableMapUnmapEvents; +} #define RANDOM_WIDTH 32 |