Jacek Caban : shdocvw: Move IOleCommandTarget to DocHost object.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Apr 18 05:13:50 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 62aa916b28872e0aed8c3edab93f9c8348d7df9d
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=62aa916b28872e0aed8c3edab93f9c8348d7df9d

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Apr 18 00:32:43 2006 +0200

shdocvw: Move IOleCommandTarget to DocHost object.

---

 dlls/shdocvw/client.c  |    2 +-
 dlls/shdocvw/dochost.c |   20 ++++++++++----------
 dlls/shdocvw/shdocvw.h |    4 ++--
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/dlls/shdocvw/client.c b/dlls/shdocvw/client.c
index 3e143cb..3694c17 100644
--- a/dlls/shdocvw/client.c
+++ b/dlls/shdocvw/client.c
@@ -52,7 +52,7 @@ static HRESULT WINAPI ClientSite_QueryIn
         *ppv = DOCSITE(This);
     }else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
         TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
-        *ppv = CLOLECMD(This->wb);
+        *ppv = CLOLECMD(This);
     }else if(IsEqualGUID(&IID_IDispatch, riid)) {
         TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
         *ppv = CLDISP(This->wb);
diff --git a/dlls/shdocvw/dochost.c b/dlls/shdocvw/dochost.c
index 481c123..58d21fe 100644
--- a/dlls/shdocvw/dochost.c
+++ b/dlls/shdocvw/dochost.c
@@ -206,31 +206,31 @@ void deactivate_document(WebBrowser *Thi
     This->doc_host.document = NULL;
 }
 
-#define OLECMD_THIS(iface) DEFINE_THIS(WebBrowser, ClOleCommandTarget, iface)
+#define OLECMD_THIS(iface) DEFINE_THIS(DocHost, OleCommandTarget, iface)
 
 static HRESULT WINAPI ClOleCommandTarget_QueryInterface(IOleCommandTarget *iface,
         REFIID riid, void **ppv)
 {
-    WebBrowser *This = OLECMD_THIS(iface);
-    return IOleClientSite_QueryInterface(CLIENTSITE(&This->doc_host), riid, ppv);
+    DocHost *This = OLECMD_THIS(iface);
+    return IOleClientSite_QueryInterface(CLIENTSITE(This), riid, ppv);
 }
 
 static ULONG WINAPI ClOleCommandTarget_AddRef(IOleCommandTarget *iface)
 {
-    WebBrowser *This = OLECMD_THIS(iface);
-    return IWebBrowser2_AddRef(WEBBROWSER(This));
+    DocHost *This = OLECMD_THIS(iface);
+    return IOleClientSite_AddRef(CLIENTSITE(This));
 }
 
 static ULONG WINAPI ClOleCommandTarget_Release(IOleCommandTarget *iface)
 {
-    WebBrowser *This = OLECMD_THIS(iface);
-    return IWebBrowser2_Release(WEBBROWSER(This));
+    DocHost *This = OLECMD_THIS(iface);
+    return IOleClientSite_Release(CLIENTSITE(This));
 }
 
 static HRESULT WINAPI ClOleCommandTarget_QueryStatus(IOleCommandTarget *iface,
         const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
 {
-    WebBrowser *This = OLECMD_THIS(iface);
+    DocHost *This = OLECMD_THIS(iface);
     FIXME("(%p)->(%s %lu %p %p)\n", This, debugstr_guid(pguidCmdGroup), cCmds, prgCmds,
           pCmdText);
     return E_NOTIMPL;
@@ -240,7 +240,7 @@ static HRESULT WINAPI ClOleCommandTarget
         const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn,
         VARIANT *pvaOut)
 {
-    WebBrowser *This = OLECMD_THIS(iface);
+    DocHost *This = OLECMD_THIS(iface);
     FIXME("(%p)->(%s %ld %ld %p %p)\n", This, debugstr_guid(pguidCmdGroup), nCmdID,
           nCmdexecopt, pvaIn, pvaOut);
     return E_NOTIMPL;
@@ -481,7 +481,7 @@ static const IDocHostUIHandler2Vtbl DocH
 void WebBrowser_DocHost_Init(WebBrowser *This)
 {
     This->doc_host.lpDocHostUIHandlerVtbl = &DocHostUIHandler2Vtbl;
-    This->lpClOleCommandTargetVtbl = &OleCommandTargetVtbl;
+    This->doc_host.lpOleCommandTargetVtbl = &OleCommandTargetVtbl;
 
     This->doc_host.document = NULL;
     This->doc_host.hostui = NULL;
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index b0bf8d3..089c26b 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -58,6 +58,7 @@ typedef struct {
     const IOleInPlaceSiteVtbl     *lpOleInPlaceSiteVtbl;
     const IDocHostUIHandler2Vtbl  *lpDocHostUIHandlerVtbl;
     const IOleDocumentSiteVtbl    *lpOleDocumentSiteVtbl;
+    const IOleCommandTargetVtbl   *lpOleCommandTargetVtbl;
 
     IDispatch *disp;
 
@@ -89,7 +90,6 @@ typedef struct WebBrowser {
 
     /* Interfaces available for embeded document */
 
-    const IOleCommandTargetVtbl         *lpClOleCommandTargetVtbl;
     const IDispatchVtbl                 *lpDispatchVtbl;
     const IServiceProviderVtbl          *lpClServiceProviderVtbl;
 
@@ -146,7 +146,7 @@ typedef struct WebBrowser {
 #define DOCHOSTUI(x)    ((IDocHostUIHandler*)           &(x)->lpDocHostUIHandlerVtbl)
 #define DOCHOSTUI2(x)   ((IDocHostUIHandler2*)          &(x)->lpDocHostUIHandlerVtbl)
 #define DOCSITE(x)      ((IOleDocumentSite*)            &(x)->lpOleDocumentSiteVtbl)
-#define CLOLECMD(x)     ((IOleCommandTarget*)           &(x)->lpClOleCommandTargetVtbl)
+#define CLOLECMD(x)     ((IOleCommandTarget*)           &(x)->lpOleCommandTargetVtbl)
 #define CLDISP(x)       ((IDispatch*)                   &(x)->lpDispatchVtbl)
 #define CLSERVPROV(x)   ((IServiceProvider*)            &(x)->lpClServiceProviderVtbl)
 




More information about the wine-cvs mailing list