Module: wine
Branch: master
Commit: 038c8e642a8871e9454fc7b709d1bd00b5a36d6b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=038c8e642a8871e9454fc7b70…
Author: Rob Shearman <rob(a)codeweavers.com>
Date: Sat Dec 23 15:50:07 2006 +0000
ole32: Call the MessagePending function for message filters.
---
dlls/ole32/compobj.c | 31 ++++++++++++++++++++++++++-----
1 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 4a88390..81236c7 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -34,8 +34,6 @@
* - Implement the OXID resolver so we don't need magic endpoint names for
* clients and servers to meet up
*
- * - Call IMessageFilter functions.
- *
* - Make all ole interface marshaling use NDR to be wire compatible with
* native DCOM
* - Use & interpret ORPCTHIS & ORPCTHAT.
@@ -2720,9 +2718,6 @@ HRESULT WINAPI CoRegisterMessageFilter(
else if (lpOldMessageFilter)
IMessageFilter_Release(lpOldMessageFilter);
- if (lpMessageFilter)
- FIXME("message filter has been registered, but will not be used\n");
-
return S_OK;
}
@@ -3191,6 +3186,32 @@ HRESULT WINAPI CoWaitForMultipleHandles(
{
MSG msg;
+ /* call message filter */
+
+ if (COM_CurrentApt()->filter)
+ {
+ DWORD be_handled = IMessageFilter_MessagePending(
+ COM_CurrentApt()->filter, 0 /* FIXME */,
+ now - start_time,
+ COM_CurrentInfo()->pending_call_count ? PENDINGTYPE_NESTED : PENDINGTYPE_TOPLEVEL);
+ TRACE("IMessageFilter_MessagePending returned %d\n", be_handled);
+ switch (be_handled)
+ {
+ case PENDINGMSG_CANCELCALL:
+ WARN("call canceled\n");
+ hr = RPC_E_CALL_CANCELED;
+ break;
+ case PENDINGMSG_WAITNOPROCESS:
+ case PENDINGMSG_WAITDEFPROCESS:
+ default:
+ /* FIXME: MSDN is very vague about the difference
+ * between WAITNOPROCESS and WAITDEFPROCESS - there
+ * appears to be none, so it is possibly a left-over
+ * from the 16-bit world. */
+ break;
+ }
+ }
+
/* note: using "if" here instead of "while" might seem less
* efficient, but only if we are optimising for quick delivery
* of pending messages, rather than quick completion of the
ChangeSet ID: 30762
CVSROOT: /opt/cvs-commit
Module name: lostwages
Changes by: julliard(a)winehq.org 2006/12/22 10:52:57
Modified files:
include : winehq.conf
Added files:
news : 2006122201.xml
Log message:
Release 0.9.28
Patch: http://cvs.winehq.org/patch.py?id=30762
Old revision New revision Changes Path
1.50 1.51 +1 -1 lostwages/include/winehq.conf
Added 1.1 +0 -0 lostwages/news/2006122201.xml
Index: lostwages/include/winehq.conf
diff -u -p lostwages/include/winehq.conf:1.50 lostwages/include/winehq.conf:1.51
--- lostwages/include/winehq.conf:1.50 22 Dec 2006 16:52:57 -0000
+++ lostwages/include/winehq.conf 22 Dec 2006 16:52:57 -0000
@@ -29,7 +29,7 @@ news_xml_path: news
wwn_xml_path: wwn
# Snapshot Date
-snapshot_date: 0.9.27
+snapshot_date: 0.9.28
# Current RH Packages Snapshot Date
snapshot_date_rh: 0.9.2
Index: lostwages/news/2006122201.xml
diff -u -p /dev/null lostwages/news/2006122201.xml:1.1
--- /dev/null 22 Dec 2006 16:52:57 -0000
+++ lostwages/news/2006122201.xml 22 Dec 2006 16:52:57 -0000
@@ -0,0 +1,25 @@
+<news>
+<date>December 22, 2006</date>
+<title>Wine 0.9.28 Released</title>
+<body>
+<p>Wine 0.9.28 was released today, with the following main changes:</p>
+
+<ul>
+<li>OpenGL in child windows should work again.</li>
+<li>Better mouse support in games.</li>
+<li>Beginnings of new state management in Direct3D.</li>
+<li>Improved audio and font support on Mac OS.</li>
+<li>Lots of bug fixes.</li>
+</ul>
+
+<p>
+Binary packages are in the process of being built and it may take a
+few days for them to appear, but the source is
+<a href="http://prdownloads.sourceforge.net/wine/wine-0.9.28.tar.bz2">available now</a>.
+You can find out more about this release in the
+<a href="?announce=0.9.28">announcement</a>. Check out our
+<a href="/site/download">download page</a> for packages for your
+distribution.
+</p>
+</body>
+</news>