1diff -rbu2 ../microwindows-0.89pre8.orig/src/config ./src/config 2--- ../microwindows-0.89pre8.orig/src/config Fri Dec 21 14:07:18 2001 3+++ ./src/config Fri Dec 21 14:14:37 2001 4@@ -47,7 +47,7 @@ 5 # 6 #################################################################### 7-OPTIMIZE = Y 8-DEBUG = N 9-VERBOSE = N 10+OPTIMIZE = N 11+DEBUG = Y 12+VERBOSE = Y 13 14 #################################################################### 15@@ -191,5 +191,5 @@ 16 # 17 #################################################################### 18-ERASEMOVE = Y 19+ERASEMOVE = N 20 UPDATEREGIONS = Y 21 22@@ -216,5 +216,5 @@ 23 24 # X Window screen, mouse and kbd drivers 25-X11 = N 26+X11 = Y 27 28 ifeq ($(X11), Y) 29diff -rbu2 ../microwindows-0.89pre8.orig/src/mwin/winevent.c ./src/mwin/winevent.c 30--- ../microwindows-0.89pre8.orig/src/mwin/winevent.c Fri Dec 21 14:07:21 2001 31+++ ./src/mwin/winevent.c Fri Dec 21 14:10:59 2001 32@@ -167,5 +167,5 @@ 33 34 /* then possibly send user mouse message*/ 35- if(hittest == HTCLIENT) { 36+ if(hittest == HTCLIENT || hwnd == GetCapture()) { 37 pt.x = cursorx; 38 pt.y = cursory; 39Only in ./src/mwin: winevent.c~ 40diff -rbu2 ../microwindows-0.89pre8.orig/src/mwin/winuser.c ./src/mwin/winuser.c 41--- ../microwindows-0.89pre8.orig/src/mwin/winuser.c Fri Dec 21 14:07:21 2001 42+++ ./src/mwin/winuser.c Fri Dec 21 14:10:59 2001 43@@ -137,7 +137,11 @@ 44 } 45 46+/* 47+ * A helper function for sharing code between PeekMessage and GetMessage 48+ */ 49+ 50 BOOL WINAPI 51-PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax, 52- UINT wRemoveMsg) 53+PeekMessageHelper(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax, 54+ UINT wRemoveMsg, BOOL returnIfEmptyQueue) 55 { 56 HWND wp; 57@@ -146,4 +150,8 @@ 58 /* check if no messages in queue*/ 59 if(mwMsgHead.head == NULL) { 60+ /* Added by JACS so it doesn't reach MwSelect */ 61+ if (returnIfEmptyQueue) 62+ return FALSE; 63+ 64 #if PAINTONCE 65 /* check all windows for pending paint messages*/ 66@@ -177,4 +185,12 @@ 67 68 BOOL WINAPI 69+PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax, 70+ UINT wRemoveMsg) 71+{ 72+ /* Never wait in MwSelect: pass TRUE */ 73+ return PeekMessageHelper(lpMsg, hwnd, uMsgFilterMin, uMsgFilterMax, wRemoveMsg, TRUE); 74+} 75+ 76+BOOL WINAPI 77 GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax) 78 { 79@@ -183,5 +199,6 @@ 80 * so this code will work 81 */ 82- while(!PeekMessage(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE)) 83+ /* Always wait in MwSelect if there are messages: pass FALSE */ 84+ while(!PeekMessageHelper(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE, FALSE)) 85 continue; 86 return lpMsg->message != WM_QUIT; 87