wine/dlls/ole32 defaulthandler.c

Alexandre Julliard julliard at wine.codeweavers.com
Thu Nov 3 13:32:49 CST 2005


ChangeSet ID:	21097
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/03 13:32:49

Modified files:
	dlls/ole32     : defaulthandler.c 

Log message:
	Robert Shearman <rob at codeweavers.com>
	Implement OLE object notifications, making sure to cope with the case
	of the advise holder not being created because no notifications are
	needed.

Patch: http://cvs.winehq.org/patch.py?id=21097

Old revision  New revision  Changes     Path
 1.34          1.35          +14 -3      wine/dlls/ole32/defaulthandler.c

Index: wine/dlls/ole32/defaulthandler.c
diff -u -p wine/dlls/ole32/defaulthandler.c:1.34 wine/dlls/ole32/defaulthandler.c:1.35
--- wine/dlls/ole32/defaulthandler.c:1.34	3 Nov 2005 19:32:49 -0000
+++ wine/dlls/ole32/defaulthandler.c	3 Nov 2005 19:32:49 -0000
@@ -1339,13 +1339,23 @@ static void WINAPI DefaultHandler_IAdvis
     IAdviseSink *iface,
     IMoniker *pmk)
 {
-    FIXME(": stub\n");
+    DefaultHandler *This = impl_from_IAdviseSink(iface);
+
+    TRACE("(%p)\n", pmk);
+
+    if (This->oleAdviseHolder)
+        IOleAdviseHolder_SendOnRename(This->oleAdviseHolder, pmk);
 }
 
 static void WINAPI DefaultHandler_IAdviseSink_OnSave(
     IAdviseSink *iface)
 {
-    FIXME(": stub\n");
+    DefaultHandler *This = impl_from_IAdviseSink(iface);
+
+    TRACE("()\n");
+
+    if (This->oleAdviseHolder)
+        IOleAdviseHolder_SendOnSave(This->oleAdviseHolder);
 }
 
 static void WINAPI DefaultHandler_IAdviseSink_OnClose(
@@ -1355,7 +1365,8 @@ static void WINAPI DefaultHandler_IAdvis
     
     TRACE("()\n");
 
-    IOleAdviseHolder_SendOnClose(This->oleAdviseHolder);
+    if (This->oleAdviseHolder)
+        IOleAdviseHolder_SendOnClose(This->oleAdviseHolder);
 
     DefaultHandler_Stop(This);
 }



More information about the wine-cvs mailing list