2001-07-05 12:34:33 -04:00
|
|
|
diff -rbu2 microwin.orig/src/mwin/winevent.c microwin/src/mwin/winevent.c
|
|
|
|
--- microwin.orig/src/mwin/winevent.c Sun Nov 26 04:57:52 2000
|
|
|
|
+++ microwin/src/mwin/winevent.c Thu Jul 5 17:08:35 2001
|
|
|
|
@@ -166,5 +166,5 @@
|
|
|
|
|
|
|
|
/* then possibly send user mouse message*/
|
|
|
|
- if(hittest == HTCLIENT) {
|
|
|
|
+ if(hittest == HTCLIENT || hwnd == GetCapture()) {
|
|
|
|
pt.x = cursorx;
|
|
|
|
pt.y = cursory;
|
|
|
|
diff -rbu2 microwin.orig/src/mwin/winuser.c microwin/src/mwin/winuser.c
|
|
|
|
--- microwin.orig/src/mwin/winuser.c Wed Jul 5 01:36:42 2000
|
|
|
|
+++ microwin/src/mwin/winuser.c Mon Jul 2 13:11:51 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;
|