Jacek Caban : ieframe: Use stored IOleCommandTarget in Exec implementation and get rid of no longer needed exec in IDocHostContainerVtbl.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 17 09:01:11 CDT 2015
Module: wine
Branch: master
Commit: dfb79624cc60b40758325eecbc5214a123ae4bbb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dfb79624cc60b40758325eecbc5214a123ae4bbb
Author: Jacek Caban <jacek at 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)
More information about the wine-cvs
mailing list