summaryrefslogtreecommitdiff
path: root/hw/xwin/winmultiwindowwndproc.c
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-03-07 22:26:59 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-03-07 22:26:59 +0000
commitcb0aa2b4d8875f1ea66e720ca7c6cc2f403be26a (patch)
tree20b5e960118a6c2ac655e3c39915cc530ba9423e /hw/xwin/winmultiwindowwndproc.c
parent978f3b496b9951ee8120a0efcc5cd12503e26770 (diff)
Prevent winRaiseWindow from calling ConfigureWindow if the message was sent
from within winDestroyWindowsWindow DestroyWindow send a WM_WINDOWPOSCHANGED to another window causing a restacking of all windows, even of the window which is just about to destroyed and whose structures may not be intact anymore.
Diffstat (limited to 'hw/xwin/winmultiwindowwndproc.c')
-rwxr-xr-xhw/xwin/winmultiwindowwndproc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c
index 0254bb00a..398751122 100755
--- a/hw/xwin/winmultiwindowwndproc.c
+++ b/hw/xwin/winmultiwindowwndproc.c
@@ -265,13 +265,17 @@ ValidateSizing (HWND hwnd, WindowPtr pWin,
return TRUE;
}
+extern Bool winInDestroyWindowsWindow;
static void winRaiseWindow(WindowPtr pWin)
{
+ if (!winInDestroyWindowsWindow)
+ {
/* Call configure window directly to make sure it gets processed
* in time
*/
- XID vlist[1] = { 0 };
+ XID vlist[1] = { 0 };
ConfigureWindow(pWin, CWStackMode, vlist, NULL);
+ }
}