Jacek Caban : mshtml: Store IOleAdviseHolder in HTMLDocumentObj instead of HTMLDocument.
Alexandre Julliard
julliard at winehq.org
Wed Nov 22 16:12:02 CST 2017
Module: wine
Branch: master
Commit: 4a13190da433dc94af43898c7dcbed3268900c2c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a13190da433dc94af43898c7dcbed3268900c2c
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Nov 22 16:15:38 2017 +0100
mshtml: Store IOleAdviseHolder in HTMLDocumentObj instead of HTMLDocument.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmldoc.c | 4 ++--
dlls/mshtml/mshtml_private.h | 2 +-
dlls/mshtml/oleobj.c | 20 ++++++++++----------
3 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 1a11ffd..5899b84 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -5274,8 +5274,8 @@ static ULONG WINAPI HTMLDocumentObj_Release(IUnknown *iface)
This->basedoc.window->doc_obj = NULL;
IHTMLWindow2_Release(&This->basedoc.window->base.IHTMLWindow2_iface);
}
- if(This->basedoc.advise_holder)
- IOleAdviseHolder_Release(This->basedoc.advise_holder);
+ if(This->advise_holder)
+ IOleAdviseHolder_Release(This->advise_holder);
if(This->view_sink)
IAdviseSink_Release(This->view_sink);
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 39c9efe..1cf43f5 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -605,7 +605,6 @@ struct HTMLDocument {
LONG task_magic;
ConnectionPointContainer cp_container;
- IOleAdviseHolder *advise_holder;
};
static inline HRESULT htmldoc_query_interface(HTMLDocument *This, REFIID riid, void **ppv)
@@ -648,6 +647,7 @@ struct HTMLDocumentObj {
IUnknown *webbrowser;
ITravelLog *travel_log;
IUnknown *browser_service;
+ IOleAdviseHolder *advise_holder;
DOCHOSTUIINFO hostinfo;
diff --git a/dlls/mshtml/oleobj.c b/dlls/mshtml/oleobj.c
index c782729..bb54ead 100644
--- a/dlls/mshtml/oleobj.c
+++ b/dlls/mshtml/oleobj.c
@@ -490,8 +490,8 @@ static HRESULT WINAPI OleObject_Close(IOleObject *iface, DWORD dwSaveOption)
HTMLDocument_LockContainer(This->doc_obj, FALSE);
- if(This->advise_holder)
- IOleAdviseHolder_SendOnClose(This->advise_holder);
+ if(This->doc_obj->advise_holder)
+ IOleAdviseHolder_SendOnClose(This->doc_obj->advise_holder);
return S_OK;
}
@@ -632,13 +632,13 @@ static HRESULT WINAPI OleObject_Advise(IOleObject *iface, IAdviseSink *pAdvSink,
return E_INVALIDARG;
}
- if(!This->advise_holder) {
- CreateOleAdviseHolder(&This->advise_holder);
- if(!This->advise_holder)
+ if(!This->doc_obj->advise_holder) {
+ CreateOleAdviseHolder(&This->doc_obj->advise_holder);
+ if(!This->doc_obj->advise_holder)
return E_OUTOFMEMORY;
}
- return IOleAdviseHolder_Advise(This->advise_holder, pAdvSink, pdwConnection);
+ return IOleAdviseHolder_Advise(This->doc_obj->advise_holder, pAdvSink, pdwConnection);
}
static HRESULT WINAPI OleObject_Unadvise(IOleObject *iface, DWORD dwConnection)
@@ -646,22 +646,22 @@ static HRESULT WINAPI OleObject_Unadvise(IOleObject *iface, DWORD dwConnection)
HTMLDocument *This = impl_from_IOleObject(iface);
TRACE("(%p)->(%d)\n", This, dwConnection);
- if(!This->advise_holder)
+ if(!This->doc_obj->advise_holder)
return OLE_E_NOCONNECTION;
- return IOleAdviseHolder_Unadvise(This->advise_holder, dwConnection);
+ return IOleAdviseHolder_Unadvise(This->doc_obj->advise_holder, dwConnection);
}
static HRESULT WINAPI OleObject_EnumAdvise(IOleObject *iface, IEnumSTATDATA **ppenumAdvise)
{
HTMLDocument *This = impl_from_IOleObject(iface);
- if(!This->advise_holder) {
+ if(!This->doc_obj->advise_holder) {
*ppenumAdvise = NULL;
return S_OK;
}
- return IOleAdviseHolder_EnumAdvise(This->advise_holder, ppenumAdvise);
+ return IOleAdviseHolder_EnumAdvise(This->doc_obj->advise_holder, ppenumAdvise);
}
static HRESULT WINAPI OleObject_GetMiscStatus(IOleObject *iface, DWORD dwAspect, DWORD *pdwStatus)
More information about the wine-cvs
mailing list