Module: wine Branch: master Commit: 4a13190da433dc94af43898c7dcbed3268900c2c URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a13190da433dc94af43898c7d...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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)