Only call ConfigureWindow from winRaiseWindow if the windows message

dispatch loop is running.
This commit is contained in:
Alexander Gottwald 2005-05-08 21:14:55 +00:00
parent 78e4cb67d0
commit 2c9b1e337b
3 changed files with 15 additions and 1 deletions

View File

@ -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:

View File

@ -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;
}

View File

@ -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;