summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-05-08 21:14:55 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2005-05-08 21:14:55 +0000
commit2c9b1e337b2e82e10909f62e8cd8c2c7a402fdd8 (patch)
tree5e6c7618a3f0c8faee43d0c0d5b4a4a86e840f21
parent78e4cb67d0f595f4fba5e98a9fa46de044556905 (diff)
Only call ConfigureWindow from winRaiseWindow if the windows message
dispatch loop is running.
-rw-r--r--hw/xwin/ChangeLog7
-rw-r--r--hw/xwin/winblock.c6
-rwxr-xr-xhw/xwin/winmultiwindowwndproc.c3
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;