wxWidgets/docs/microwin/microwindows.patches

58 lines
1.9 KiB
Plaintext
Raw Normal View History

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;