Jacek Caban : shdocvw: Move IDispatch 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: 9b0c2bf595a2dca82f17f1d03c104861e064f1d8
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=9b0c2bf595a2dca82f17f1d03c104861e064f1d8
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Apr 18 00:34:21 2006 +0200
shdocvw: Move IDispatch to DocHost object.
---
dlls/shdocvw/client.c | 26 +++++++++++++-------------
dlls/shdocvw/shdocvw.h | 2 +-
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/dlls/shdocvw/client.c b/dlls/shdocvw/client.c
index 3694c17..1e7fc7c 100644
--- a/dlls/shdocvw/client.c
+++ b/dlls/shdocvw/client.c
@@ -55,7 +55,7 @@ static HRESULT WINAPI ClientSite_QueryIn
*ppv = CLOLECMD(This);
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
- *ppv = CLDISP(This->wb);
+ *ppv = CLDISP(This);
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
*ppv = CLSERVPROV(This->wb);
@@ -347,29 +347,29 @@ static const IOleDocumentSiteVtbl OleDoc
OleDocumentSite_ActivateMe
};
-#define DISP_THIS(iface) DEFINE_THIS(WebBrowser, Dispatch, iface)
+#define DISP_THIS(iface) DEFINE_THIS(DocHost, Dispatch, iface)
static HRESULT WINAPI ClDispatch_QueryInterface(IDispatch *iface, REFIID riid, void **ppv)
{
- WebBrowser *This = DISP_THIS(iface);
- return IOleClientSite_QueryInterface(CLIENTSITE(&This->doc_host), riid, ppv);
+ DocHost *This = DISP_THIS(iface);
+ return IOleClientSite_QueryInterface(CLIENTSITE(This), riid, ppv);
}
static ULONG WINAPI ClDispatch_AddRef(IDispatch *iface)
{
- WebBrowser *This = DISP_THIS(iface);
- return IOleClientSite_AddRef(CLIENTSITE(&This->doc_host));
+ DocHost *This = DISP_THIS(iface);
+ return IOleClientSite_AddRef(CLIENTSITE(This));
}
static ULONG WINAPI ClDispatch_Release(IDispatch *iface)
{
- WebBrowser *This = DISP_THIS(iface);
- return IOleClientSite_Release(CLIENTSITE(&This->doc_host));
+ DocHost *This = DISP_THIS(iface);
+ return IOleClientSite_Release(CLIENTSITE(This));
}
static HRESULT WINAPI ClDispatch_GetTypeInfoCount(IDispatch *iface, UINT *pctinfo)
{
- WebBrowser *This = DISP_THIS(iface);
+ DocHost *This = DISP_THIS(iface);
TRACE("(%p)->(%p)\n", This, pctinfo);
@@ -379,7 +379,7 @@ static HRESULT WINAPI ClDispatch_GetType
static HRESULT WINAPI ClDispatch_GetTypeInfo(IDispatch *iface, UINT iTInfo, LCID lcid,
ITypeInfo **ppTInfo)
{
- WebBrowser *This = DISP_THIS(iface);
+ DocHost *This = DISP_THIS(iface);
TRACE("(%p)->(%u %ld %p)\n", This, iTInfo, lcid, ppTInfo);
@@ -389,7 +389,7 @@ static HRESULT WINAPI ClDispatch_GetType
static HRESULT WINAPI ClDispatch_GetIDsOfNames(IDispatch *iface, REFIID riid, LPOLESTR *rgszNames,
UINT cNames, LCID lcid, DISPID *rgDispId)
{
- WebBrowser *This = DISP_THIS(iface);
+ DocHost *This = DISP_THIS(iface);
TRACE("(%p)->(%s %p %u %ld %p)\n", This, debugstr_guid(riid), rgszNames, cNames,
lcid, rgDispId);
@@ -401,7 +401,7 @@ static HRESULT WINAPI ClDispatch_Invoke(
LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
- WebBrowser *This = DISP_THIS(iface);
+ DocHost *This = DISP_THIS(iface);
FIXME("(%p)->(%ld %s %ld %04x %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid),
lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
return E_NOTIMPL;
@@ -469,7 +469,7 @@ void WebBrowser_ClientSite_Init(WebBrows
This->doc_host.lpOleClientSiteVtbl = &OleClientSiteVtbl;
This->doc_host.lpOleInPlaceSiteVtbl = &OleInPlaceSiteVtbl;
This->doc_host.lpOleDocumentSiteVtbl = &OleDocumentSiteVtbl;
- This->lpDispatchVtbl = &DispatchVtbl;
+ This->doc_host.lpDispatchVtbl = &DispatchVtbl;
This->lpClServiceProviderVtbl = &ServiceProviderVtbl;
This->doc_host.view = NULL;
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index 089c26b..64a31f1 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -59,6 +59,7 @@ typedef struct {
const IDocHostUIHandler2Vtbl *lpDocHostUIHandlerVtbl;
const IOleDocumentSiteVtbl *lpOleDocumentSiteVtbl;
const IOleCommandTargetVtbl *lpOleCommandTargetVtbl;
+ const IDispatchVtbl *lpDispatchVtbl;
IDispatch *disp;
@@ -90,7 +91,6 @@ typedef struct WebBrowser {
/* Interfaces available for embeded document */
- const IDispatchVtbl *lpDispatchVtbl;
const IServiceProviderVtbl *lpClServiceProviderVtbl;
/* Interfaces of InPlaceFrame object */
More information about the wine-cvs
mailing list