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> 2005-05-02 Alexander Gottwald <ago at freedesktop dot org>
* winerror.c: * winerror.c:

View File

@ -41,6 +41,8 @@ extern HWND g_hDlgExit;
extern HWND g_hDlgAbout; extern HWND g_hDlgAbout;
Bool winInBlockHandler = FALSE;
/* See Porting Layer Definition - p. 6 */ /* See Porting Layer Definition - p. 6 */
void void
winBlockHandler (int nScreen, winBlockHandler (int nScreen,
@ -87,6 +89,9 @@ winBlockHandler (int nScreen,
winBlockHandler_ProcessMessages: winBlockHandler_ProcessMessages:
#endif #endif
winInBlockHandler = TRUE;
/* Process all messages on our queue */ /* Process all messages on our queue */
while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE)) while (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{ {
@ -100,4 +105,5 @@ winBlockHandler_ProcessMessages:
DispatchMessage (&msg); DispatchMessage (&msg);
} }
} }
winInBlockHandler = FALSE;
} }

View File

@ -266,10 +266,11 @@ ValidateSizing (HWND hwnd, WindowPtr pWin,
} }
extern Bool winInDestroyWindowsWindow; extern Bool winInDestroyWindowsWindow;
extern Bool winInBlockHandler;
static Bool winInRaiseWindow = FALSE; static Bool winInRaiseWindow = FALSE;
static void winRaiseWindow(WindowPtr pWin) static void winRaiseWindow(WindowPtr pWin)
{ {
if (!winInDestroyWindowsWindow && !winInRaiseWindow) if (winInBlockHandler && !winInDestroyWindowsWindow && !winInRaiseWindow)
{ {
BOOL oldstate = winInRaiseWindow; BOOL oldstate = winInRaiseWindow;
winInRaiseWindow = TRUE; winInRaiseWindow = TRUE;