ChangeSet ID: 21097 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/03 13:32:49
Modified files: dlls/ole32 : defaulthandler.c
Log message: Robert Shearman rob@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); }