1 diff -rbu2 microwin.orig/src/mwin/winevent.c microwin/src/mwin/winevent.c
2 --- microwin.orig/src/mwin/winevent.c Sun Nov 26 04:57:52 2000
3 +++ microwin/src/mwin/winevent.c Thu Jul 5 17:08:35 2001
6 /* then possibly send user mouse message*/
7 - if(hittest == HTCLIENT) {
8 + if(hittest == HTCLIENT || hwnd == GetCapture()) {
11 diff -rbu2 microwin.orig/src/mwin/winuser.c microwin/src/mwin/winuser.c
12 --- microwin.orig/src/mwin/winuser.c Wed Jul 5 01:36:42 2000
13 +++ microwin/src/mwin/winuser.c Mon Jul 2 13:11:51 2001
18 + * A helper function for sharing code between PeekMessage and GetMessage
22 -PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
24 +PeekMessageHelper(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
25 + UINT wRemoveMsg, BOOL returnIfEmptyQueue)
29 /* check if no messages in queue*/
30 if(mwMsgHead.head == NULL) {
31 + /* Added by JACS so it doesn't reach MwSelect */
32 + if (returnIfEmptyQueue)
36 /* check all windows for pending paint messages*/
40 +PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
43 + /* Never wait in MwSelect: pass TRUE */
44 + return PeekMessageHelper(lpMsg, hwnd, uMsgFilterMin, uMsgFilterMax, wRemoveMsg, TRUE);
48 GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax)
51 * so this code will work
53 - while(!PeekMessage(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE))
54 + /* Always wait in MwSelect if there are messages: pass FALSE */
55 + while(!PeekMessageHelper(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE, FALSE))
57 return lpMsg->message != WM_QUIT;