Patch to get SmartForms running (fixes bug 575?)
Joshua Thielen
thielen at netprince.net
Sat Jun 22 00:01:46 CDT 2002
This patch fixes the problem reported running SmartForms in bug 575
(http://bugs.codeweavers.com/show_bug.cgi?id=575). It also gets
LogicWorks running (and probably any other 16-bit app that uses the
SmartHeap memory management library).
It turns out, SmartForms does not need NotifyRegister implemented to run
(so far, at least). The problem is that when WaitMessage16 was called,
it did not yield control to the other 16-bit threads. This patch fixes
this problem in WaitMessage16.
Modified Files:
wine/dlls/user/user.exe.spec
wine/dlls/user/msg16.c
Change Log:
Separated WaitMessage16 from WaitMessage and modified it to yield
control to other 16-bit threads.
License:
LGPL
X11
Josh Thielen
-------------- next part --------------
Index: wine/dlls/user/user.exe.spec
===================================================================
RCS file: /home/wine/wine/dlls/user/user.exe.spec,v
retrieving revision 1.1
diff -u -r1.1 user.exe.spec
--- wine/dlls/user/user.exe.spec 26 Mar 2002 19:56:06 -0000 1.1
+++ wine/dlls/user/user.exe.spec 22 Jun 2002 03:50:01 -0000
@@ -116,7 +116,7 @@
109 pascal16 PeekMessage(ptr word word word word) PeekMessage16
110 pascal16 PostMessage(word word word long) PostMessage16
111 pascal SendMessage(word word word long) SendMessage16
-112 pascal16 WaitMessage() WaitMessage
+112 pascal16 WaitMessage() WaitMessage16
113 pascal16 TranslateMessage(ptr) TranslateMessage16
114 pascal DispatchMessage(ptr) DispatchMessage16
115 pascal16 ReplyMessage(long) ReplyMessage16
Index: wine/dlls/user/msg16.c
===================================================================
RCS file: /home/wine/wine/dlls/user/msg16.c,v
retrieving revision 1.8
diff -u -r1.8 msg16.c
--- wine/dlls/user/msg16.c 9 Mar 2002 23:44:30 -0000 1.8
+++ wine/dlls/user/msg16.c 22 Jun 2002 03:50:02 -0000
@@ -229,6 +229,19 @@
return GetMessage32_16( (MSG32_16 *)msg, hwnd, first, last, FALSE );
}
+/***********************************************************************
+ * WaitMessage (USER.112)
+ */
+void WINAPI WaitMessage16()
+{
+ MSG16 msg;
+
+ while(!PeekMessage16(&msg, 0, 0, 0, PM_NOREMOVE))
+ {
+ ;
+ }
+ return;
+}
/***********************************************************************
* TranslateMessage32 (USER.821)
More information about the wine-patches
mailing list