-*** /home/julians/microwindows/original/microwin/src/mwin/winuser.c Wed Jul 5 00:36:42 2000
---- winuser.c Tue May 22 00:42:01 2001
-***************
-*** 136,150 ****
- return FALSE;
- }
-
- BOOL WINAPI
-! PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
-! UINT wRemoveMsg)
- {
- HWND wp;
- PMSG pNxtMsg;
-
- /* check if no messages in queue*/
- if(mwMsgHead.head == NULL) {
- #if PAINTONCE
- /* check all windows for pending paint messages*/
- for(wp=listwp; wp; wp=wp->next) {
---- 136,158 ----
- return FALSE;
- }
-
-+ /*
-+ * A helper function for sharing code between PeekMessage and GetMessage
-+ */
-+
- BOOL WINAPI
-! PeekMessageHelper(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
-! UINT wRemoveMsg, BOOL returnIfEmptyQueue)
- {
- HWND wp;
- PMSG pNxtMsg;
-
- /* check if no messages in queue*/
- if(mwMsgHead.head == NULL) {
-+ /* Added by JACS so it doesn't reach MwSelect */
-+ if (returnIfEmptyQueue)
-+ return FALSE;
-+
- #if PAINTONCE
- /* check all windows for pending paint messages*/
- for(wp=listwp; wp; wp=wp->next) {
-***************
-*** 176,188 ****
- }
-
- BOOL WINAPI
- GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax)
- {
- /*
- * currently MwSelect() must poll for VT switch reasons,
- * so this code will work
- */
-! while(!PeekMessage(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE))
- continue;
- return lpMsg->message != WM_QUIT;
- }
---- 184,205 ----
- }
-
- BOOL WINAPI
-+ PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
-+ UINT wRemoveMsg)
-+ {
-+ /* Never wait in MwSelect: pass TRUE */
-+ return PeekMessageHelper(lpMsg, hwnd, uMsgFilterMin, uMsgFilterMax, wRemoveMsg, TRUE);
-+ }
-+
-+ BOOL WINAPI
- GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax)
- {
- /*
- * currently MwSelect() must poll for VT switch reasons,
- * so this code will work
- */
-! /* Always wait in MwSelect if there are messages: pass FALSE */
-! while(!PeekMessageHelper(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE, FALSE))
- continue;
- return lpMsg->message != WM_QUIT;
- }
+diff -rbu2 ../microwindows-0.89pre8.orig/src/config ./src/config
+--- ../microwindows-0.89pre8.orig/src/config Fri Dec 21 14:07:18 2001
++++ ./src/config Fri Dec 21 14:14:37 2001
+@@ -47,7 +47,7 @@
+ #
+ ####################################################################
+-OPTIMIZE = Y
+-DEBUG = N
+-VERBOSE = N
++OPTIMIZE = N
++DEBUG = Y
++VERBOSE = Y
+
+ ####################################################################
+@@ -191,5 +191,5 @@
+ #
+ ####################################################################
+-ERASEMOVE = Y
++ERASEMOVE = N
+ UPDATEREGIONS = Y
+
+@@ -216,5 +216,5 @@
+
+ # X Window screen, mouse and kbd drivers
+-X11 = N
++X11 = Y
+
+ ifeq ($(X11), Y)
+diff -rbu2 ../microwindows-0.89pre8.orig/src/mwin/winevent.c ./src/mwin/winevent.c
+--- ../microwindows-0.89pre8.orig/src/mwin/winevent.c Fri Dec 21 14:07:21 2001
++++ ./src/mwin/winevent.c Fri Dec 21 14:10:59 2001
+@@ -167,5 +167,5 @@
+
+ /* then possibly send user mouse message*/
+- if(hittest == HTCLIENT) {
++ if(hittest == HTCLIENT || hwnd == GetCapture()) {
+ pt.x = cursorx;
+ pt.y = cursory;
+Only in ./src/mwin: winevent.c~
+diff -rbu2 ../microwindows-0.89pre8.orig/src/mwin/winuser.c ./src/mwin/winuser.c
+--- ../microwindows-0.89pre8.orig/src/mwin/winuser.c Fri Dec 21 14:07:21 2001
++++ ./src/mwin/winuser.c Fri Dec 21 14:10:59 2001
+@@ -137,7 +137,11 @@
+ }
+
++/*
++ * A helper function for sharing code between PeekMessage and GetMessage
++ */
++
+ BOOL WINAPI
+-PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
+- UINT wRemoveMsg)
++PeekMessageHelper(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
++ UINT wRemoveMsg, BOOL returnIfEmptyQueue)
+ {
+ HWND wp;
+@@ -146,4 +150,8 @@
+ /* check if no messages in queue*/
+ if(mwMsgHead.head == NULL) {
++ /* Added by JACS so it doesn't reach MwSelect */
++ if (returnIfEmptyQueue)
++ return FALSE;
++
+ #if PAINTONCE
+ /* check all windows for pending paint messages*/
+@@ -177,4 +185,12 @@
+
+ BOOL WINAPI
++PeekMessage(LPMSG lpMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax,
++ UINT wRemoveMsg)
++{
++ /* Never wait in MwSelect: pass TRUE */
++ return PeekMessageHelper(lpMsg, hwnd, uMsgFilterMin, uMsgFilterMax, wRemoveMsg, TRUE);
++}
++
++BOOL WINAPI
+ GetMessage(LPMSG lpMsg,HWND hwnd,UINT wMsgFilterMin,UINT wMsgFilterMax)
+ {
+@@ -183,5 +199,6 @@
+ * so this code will work
+ */
+- while(!PeekMessage(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE))
++ /* Always wait in MwSelect if there are messages: pass FALSE */
++ while(!PeekMessageHelper(lpMsg, hwnd, wMsgFilterMin, wMsgFilterMax,PM_REMOVE, FALSE))
+ continue;
+ return lpMsg->message != WM_QUIT;