diff options
author | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-05-08 21:14:55 +0000 |
---|---|---|
committer | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-05-08 21:14:55 +0000 |
commit | 2c9b1e337b2e82e10909f62e8cd8c2c7a402fdd8 (patch) | |
tree | 5e6c7618a3f0c8faee43d0c0d5b4a4a86e840f21 /hw | |
parent | 78e4cb67d0f595f4fba5e98a9fa46de044556905 (diff) |
Only call ConfigureWindow from winRaiseWindow if the windows message
dispatch loop is running.
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xwin/ChangeLog | 7 | ||||
-rw-r--r-- | hw/xwin/winblock.c | 6 | ||||
-rwxr-xr-x | hw/xwin/winmultiwindowwndproc.c | 3 |
3 files changed, 15 insertions, 1 deletions
diff --git a/hw/xwin/ChangeLog b/hw/xwin/ChangeLog index 20977edb0..4f161e516 100644 --- a/hw/xwin/ChangeLog +++ b/hw/xwin/ChangeLog @@ -1,3 +1,10 @@ +2005-05-08 Alexander Gottwald <ago at freedesktop dot org> + + * winmultiwindowwndproc.c: + * winblock.c: + Only call ConfigureWindow from winRaiseWindow if the windows + message dispatch loop is running. + 2005-05-02 Alexander Gottwald <ago at freedesktop dot org> * winerror.c: diff --git a/hw/xwin/winblock.c b/hw/xwin/winblock.c index 1d21faf46..ec2d16eeb 100644 --- a/hw/xwin/winblock.c +++ b/hw/xwin/winblock.c @@ -41,6 +41,8 @@ extern HWND g_hDlgExit; extern HWND g_hDlgAbout; +Bool winInBlockHandler = FALSE; + /* See Porting Layer Definition - p. 6 */ void winBlockHandler (int nScreen, @@ -87,6 +89,9 @@ winBlockHandler (int nScreen, winBlockHandler_ProcessMessages: #endif + + + winInBlockHandler = TRUE; /* Process all messages on our queue */ while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE)) { @@ -100,4 +105,5 @@ winBlockHandler_ProcessMessages: DispatchMessage (&msg); } } + winInBlockHandler = FALSE; } diff --git a/hw/xwin/winmultiwindowwndproc.c b/hw/xwin/winmultiwindowwndproc.c index 93ddcd4b3..56e51565c 100755 --- a/hw/xwin/winmultiwindowwndproc.c +++ b/hw/xwin/winmultiwindowwndproc.c @@ -266,10 +266,11 @@ ValidateSizing (HWND hwnd, WindowPtr pWin, } extern Bool winInDestroyWindowsWindow; +extern Bool winInBlockHandler; static Bool winInRaiseWindow = FALSE; static void winRaiseWindow(WindowPtr pWin) { - if (!winInDestroyWindowsWindow && !winInRaiseWindow) + if (winInBlockHandler && !winInDestroyWindowsWindow && !winInRaiseWindow) { BOOL oldstate = winInRaiseWindow; winInRaiseWindow = TRUE; |