Module: wine Branch: master Commit: dfb79624cc60b40758325eecbc5214a123ae4bbb URL: http://source.winehq.org/git/wine.git/?a=commit;h=dfb79624cc60b40758325eecbc...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Aug 14 16:30:50 2015 +0200
ieframe: Use stored IOleCommandTarget in Exec implementation and get rid of no longer needed exec in IDocHostContainerVtbl.
---
dlls/ieframe/dochost.c | 16 +++++++++++++--- dlls/ieframe/ieframe.h | 1 - dlls/ieframe/iexplore.c | 9 +-------- dlls/ieframe/webbrowser.c | 20 +------------------- 4 files changed, 15 insertions(+), 31 deletions(-)
diff --git a/dlls/ieframe/dochost.c b/dlls/ieframe/dochost.c index a495292..55c1dfe 100644 --- a/dlls/ieframe/dochost.c +++ b/dlls/ieframe/dochost.c @@ -639,8 +639,15 @@ static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface, if(!pguidCmdGroup) { switch(nCmdID) { case OLECMDID_UPDATECOMMANDS: + if(!This->olecmd) + return E_NOTIMPL; + return IOleCommandTarget_Exec(This->olecmd, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); case OLECMDID_SETDOWNLOADSTATE: - return This->container_vtbl->exec(This, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); + if(This->olecmd) + return IOleCommandTarget_Exec(This->olecmd, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); + + FIXME("Default action not implemented.\n"); + return E_NOTIMPL; default: FIXME("Unimplemented cmdid %d\n", nCmdID); return E_NOTIMPL; @@ -719,8 +726,11 @@ static HRESULT WINAPI ClOleCommandTarget_Exec(IOleCommandTarget *iface, } }
- if(IsEqualGUID(&CGID_DocHostCommandHandler, pguidCmdGroup)) - return This->container_vtbl->exec(This, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); + if(IsEqualGUID(&CGID_DocHostCommandHandler, pguidCmdGroup)) { + if(!This->olecmd) + return E_NOTIMPL; + return IOleCommandTarget_Exec(This->olecmd, pguidCmdGroup, nCmdID, nCmdexecopt, pvaIn, pvaOut); + }
FIXME("Unimplemented cmdid %d of group %s\n", nCmdID, debugstr_guid(pguidCmdGroup)); return E_NOTIMPL; diff --git a/dlls/ieframe/ieframe.h b/dlls/ieframe/ieframe.h index 8a0b074..031cfae 100644 --- a/dlls/ieframe/ieframe.h +++ b/dlls/ieframe/ieframe.h @@ -106,7 +106,6 @@ typedef struct _IDocHostContainerVtbl void (WINAPI* GetDocObjRect)(DocHost*,RECT*); HRESULT (WINAPI* SetStatusText)(DocHost*,LPCWSTR); void (WINAPI* SetURL)(DocHost*,LPCWSTR); - HRESULT (*exec)(DocHost*,const GUID*,DWORD,DWORD,VARIANT*,VARIANT*); } IDocHostContainerVtbl;
struct DocHost { diff --git a/dlls/ieframe/iexplore.c b/dlls/ieframe/iexplore.c index 08bb167..6260476 100644 --- a/dlls/ieframe/iexplore.c +++ b/dlls/ieframe/iexplore.c @@ -771,19 +771,12 @@ static void WINAPI DocHostContainer_SetURL(DocHost* iface, LPCWSTR url) SendMessageW(This->frame_hwnd, WM_UPDATEADDRBAR, 0, (LPARAM)url); }
-static HRESULT DocHostContainer_exec(DocHost* This, const GUID *cmd_group, DWORD cmdid, DWORD execopt, VARIANT *in, - VARIANT *out) -{ - return E_NOTIMPL; -} - static const IDocHostContainerVtbl DocHostContainerVtbl = { IEDocHost_addref, IEDocHost_release, DocHostContainer_GetDocObjRect, DocHostContainer_SetStatusText, - DocHostContainer_SetURL, - DocHostContainer_exec + DocHostContainer_SetURL };
static HRESULT create_ie(InternetExplorer **ret_obj) diff --git a/dlls/ieframe/webbrowser.c b/dlls/ieframe/webbrowser.c index 8689c7e..5b4348b 100644 --- a/dlls/ieframe/webbrowser.c +++ b/dlls/ieframe/webbrowser.c @@ -1208,30 +1208,12 @@ static void WINAPI DocHostContainer_SetURL(DocHost* This, LPCWSTR url) { }
-static HRESULT DocHostContainer_exec(DocHost *doc_host, const GUID *cmd_group, DWORD cmdid, DWORD execopt, VARIANT *in, - VARIANT *out) -{ - HRESULT hres; - - if(!doc_host->olecmd) - return E_NOTIMPL; - - hres = IOleCommandTarget_Exec(doc_host->olecmd, cmd_group, cmdid, execopt, in, out); - if(SUCCEEDED(hres)) - TRACE("Exec returned %08x %s\n", hres, debugstr_variant(out)); - else - FIXME("Exec failed\n"); - - return hres; -} - static const IDocHostContainerVtbl DocHostContainerVtbl = { WebBrowser_addref, WebBrowser_release, DocHostContainer_GetDocObjRect, DocHostContainer_SetStatusText, - DocHostContainer_SetURL, - DocHostContainer_exec + DocHostContainer_SetURL };
static HRESULT create_webbrowser(int version, IUnknown *outer, REFIID riid, void **ppv)