Moved the major part of message queue and window timer handling into
the server.
Implemented MsgWaitForMultipleObjectsEx.
diff --git a/windows/win.c b/windows/win.c
index a31f756..77a73c6 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -458,29 +458,8 @@
/* toss stale messages from the queue */
- if( wndPtr->hmemTaskQ )
- {
- BOOL bPostQuit = FALSE;
- WPARAM wQuitParam = 0;
- MESSAGEQUEUE* msgQ = (MESSAGEQUEUE*) QUEUE_Lock(wndPtr->hmemTaskQ);
- QMSG *qmsg;
-
- while( (qmsg = QUEUE_FindMsg(msgQ, hwnd, 0, 0)) != 0 )
- {
- if( qmsg->msg.message == WM_QUIT )
- {
- bPostQuit = TRUE;
- wQuitParam = qmsg->msg.wParam;
- }
- QUEUE_RemoveMsg(msgQ, qmsg);
- }
-
- QUEUE_Unlock(msgQ);
-
- /* repost WM_QUIT to make sure this app exits its message loop */
- if( bPostQuit ) PostQuitMessage(wQuitParam);
- wndPtr->hmemTaskQ = 0;
- }
+ QUEUE_CleanupWindow( hwnd );
+ wndPtr->hmemTaskQ = 0;
if (!(wndPtr->dwStyle & WS_CHILD))
if (wndPtr->wIDmenu)