Michael Stefaniuc : riched20: COM cleanup for the IOleClientSite iface.
Alexandre Julliard
julliard at winehq.org
Thu May 19 13:32:09 CDT 2011
Module: wine
Branch: master
Commit: b1ae962997e4e9949c2c78d4a73114648c224398
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b1ae962997e4e9949c2c78d4a73114648c224398
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Wed May 18 23:45:15 2011 +0200
riched20: COM cleanup for the IOleClientSite iface.
---
dlls/riched20/richole.c | 68 ++++++++++++++++++++++------------------------
1 files changed, 33 insertions(+), 35 deletions(-)
diff --git a/dlls/riched20/richole.c b/dlls/riched20/richole.c
index 6d0deea..24c1a2a 100644
--- a/dlls/riched20/richole.c
+++ b/dlls/riched20/richole.c
@@ -72,7 +72,7 @@ struct ITextSelectionImpl {
};
struct IOleClientSiteImpl {
- const IOleClientSiteVtbl *lpVtbl;
+ IOleClientSite IOleClientSite_iface;
LONG ref;
IRichEditOleImpl *reOle;
@@ -135,7 +135,7 @@ IRichEditOle_fnRelease(IRichEditOle *me)
TRACE ("Destroying %p\n", This);
This->txtSel->reOle = NULL;
ITextSelection_Release(&This->txtSel->ITextSelection_iface);
- IOleClientSite_Release((IOleClientSite *) This->clientSite);
+ IOleClientSite_Release(&This->clientSite->IOleClientSite_iface);
heap_free(This);
}
return ref;
@@ -166,6 +166,11 @@ IRichEditOle_fnConvertObject(IRichEditOle *me, LONG iob,
return E_NOTIMPL;
}
+static inline IOleClientSiteImpl *impl_from_IOleClientSite(IOleClientSite *iface)
+{
+ return CONTAINING_RECORD(iface, IOleClientSiteImpl, IOleClientSite_iface);
+}
+
static HRESULT WINAPI
IOleClientSite_fnQueryInterface(IOleClientSite *me, REFIID riid, LPVOID *ppvObj)
{
@@ -185,88 +190,81 @@ IOleClientSite_fnQueryInterface(IOleClientSite *me, REFIID riid, LPVOID *ppvObj)
return E_NOINTERFACE;
}
-static ULONG WINAPI
-IOleClientSite_fnAddRef(IOleClientSite *me)
+static ULONG WINAPI IOleClientSite_fnAddRef(IOleClientSite *iface)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
return InterlockedIncrement(&This->ref);
}
-static ULONG WINAPI
-IOleClientSite_fnRelease(IOleClientSite *me)
+static ULONG WINAPI IOleClientSite_fnRelease(IOleClientSite *iface)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
ULONG ref = InterlockedDecrement(&This->ref);
if (ref == 0)
heap_free(This);
return ref;
}
-static HRESULT WINAPI
-IOleClientSite_fnSaveObject(IOleClientSite *me)
+static HRESULT WINAPI IOleClientSite_fnSaveObject(IOleClientSite *iface)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
if (!This->reOle)
return CO_E_RELEASED;
- FIXME("stub %p\n",me);
+ FIXME("stub %p\n", iface);
return E_NOTIMPL;
}
-static HRESULT WINAPI
-IOleClientSite_fnGetMoniker(IOleClientSite *me, DWORD dwAssign, DWORD dwWhichMoniker,
- IMoniker **ppmk)
+static HRESULT WINAPI IOleClientSite_fnGetMoniker(IOleClientSite *iface, DWORD dwAssign,
+ DWORD dwWhichMoniker, IMoniker **ppmk)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
if (!This->reOle)
return CO_E_RELEASED;
- FIXME("stub %p\n",me);
+ FIXME("stub %p\n", iface);
return E_NOTIMPL;
}
-static HRESULT WINAPI
-IOleClientSite_fnGetContainer(IOleClientSite *me, IOleContainer **ppContainer)
+static HRESULT WINAPI IOleClientSite_fnGetContainer(IOleClientSite *iface,
+ IOleContainer **ppContainer)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
if (!This->reOle)
return CO_E_RELEASED;
- FIXME("stub %p\n",me);
+ FIXME("stub %p\n", iface);
return E_NOTIMPL;
}
-static HRESULT WINAPI
-IOleClientSite_fnShowObject(IOleClientSite *me)
+static HRESULT WINAPI IOleClientSite_fnShowObject(IOleClientSite *iface)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
if (!This->reOle)
return CO_E_RELEASED;
- FIXME("stub %p\n",me);
+ FIXME("stub %p\n", iface);
return E_NOTIMPL;
}
-static HRESULT WINAPI
-IOleClientSite_fnOnShowWindow(IOleClientSite *me, BOOL fShow)
+static HRESULT WINAPI IOleClientSite_fnOnShowWindow(IOleClientSite *iface, BOOL fShow)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
if (!This->reOle)
return CO_E_RELEASED;
- FIXME("stub %p\n",me);
+ FIXME("stub %p\n", iface);
return E_NOTIMPL;
}
-static HRESULT WINAPI
-IOleClientSite_fnRequestNewObjectLayout(IOleClientSite *me)
+static HRESULT WINAPI IOleClientSite_fnRequestNewObjectLayout(IOleClientSite *iface)
{
- IOleClientSiteImpl *This = (IOleClientSiteImpl *) me;
+ IOleClientSiteImpl *This = impl_from_IOleClientSite(iface);
if (!This->reOle)
return CO_E_RELEASED;
- FIXME("stub %p\n",me);
+ FIXME("stub %p\n", iface);
return E_NOTIMPL;
}
@@ -289,7 +287,7 @@ CreateOleClientSite(IRichEditOleImpl *reOle)
if (!clientSite)
return NULL;
- clientSite->lpVtbl = &ocst;
+ clientSite->IOleClientSite_iface.lpVtbl = &ocst;
clientSite->ref = 1;
clientSite->reOle = reOle;
return clientSite;
@@ -305,7 +303,7 @@ IRichEditOle_fnGetClientSite(IRichEditOle *me,
if(!lplpolesite)
return E_INVALIDARG;
- *lplpolesite = (IOleClientSite *) This->clientSite;
+ *lplpolesite = &This->clientSite->IOleClientSite_iface;
IOleClientSite_fnAddRef(*lplpolesite);
return S_OK;
}
More information about the wine-cvs
mailing list