diff options
author | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-03-07 22:26:59 +0000 |
---|---|---|
committer | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-03-07 22:26:59 +0000 |
commit | cb0aa2b4d8875f1ea66e720ca7c6cc2f403be26a (patch) | |
tree | 20b5e960118a6c2ac655e3c39915cc530ba9423e /hw/xwin/winmultiwindowwndproc.c | |
parent | 978f3b496b9951ee8120a0efcc5cd12503e26770 (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-x | hw/xwin/winmultiwindowwndproc.c | 6 |
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); + } } |