Nikolay Sivov : ole32: Call moniker methods with proper wrappers.
Alexandre Julliard
julliard at winehq.org
Tue Dec 31 11:11:44 CST 2013
Module: wine
Branch: master
Commit: f041c2c5549e6a24c73004180d29fe327b058441
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f041c2c5549e6a24c73004180d29fe327b058441
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Dec 31 13:12:21 2013 +0400
ole32: Call moniker methods with proper wrappers.
---
dlls/ole32/classmoniker.c | 35 +++++++++++++----------------------
1 files changed, 13 insertions(+), 22 deletions(-)
diff --git a/dlls/ole32/classmoniker.c b/dlls/ole32/classmoniker.c
index 0c7e751..89c7297 100644
--- a/dlls/ole32/classmoniker.c
+++ b/dlls/ole32/classmoniker.c
@@ -119,20 +119,6 @@ static ULONG WINAPI ClassMoniker_AddRef(IMoniker* iface)
}
/******************************************************************************
- * ClassMoniker_Destroy (local function)
- *******************************************************************************/
-static HRESULT ClassMoniker_Destroy(ClassMoniker* This)
-{
- TRACE("(%p)\n",This);
-
- if (This->pMarshal) IUnknown_Release(This->pMarshal);
-
- HeapFree(GetProcessHeap(),0,This);
-
- return S_OK;
-}
-
-/******************************************************************************
* ClassMoniker_Release
******************************************************************************/
static ULONG WINAPI ClassMoniker_Release(IMoniker* iface)
@@ -145,7 +131,11 @@ static ULONG WINAPI ClassMoniker_Release(IMoniker* iface)
ref = InterlockedDecrement(&This->ref);
/* destroy the object if there are no more references to it */
- if (ref == 0) ClassMoniker_Destroy(This);
+ if (ref == 0)
+ {
+ if (This->pMarshal) IUnknown_Release(This->pMarshal);
+ HeapFree(GetProcessHeap(),0,This);
+ }
return ref;
}
@@ -277,7 +267,7 @@ static HRESULT WINAPI ClassMoniker_BindToStorage(IMoniker* iface,
VOID** ppvResult)
{
TRACE("(%p,%p,%p,%p)\n",pbc, pmkToLeft, riid, ppvResult);
- return ClassMoniker_BindToObject(iface, pbc, pmkToLeft, riid, ppvResult);
+ return IMoniker_BindToObject(iface, pbc, pmkToLeft, riid, ppvResult);
}
/******************************************************************************
@@ -294,7 +284,7 @@ static HRESULT WINAPI ClassMoniker_Reduce(IMoniker* iface,
if (!ppmkReduced)
return E_POINTER;
- ClassMoniker_AddRef(iface);
+ IMoniker_AddRef(iface);
*ppmkReduced = iface;
@@ -600,7 +590,7 @@ static HRESULT WINAPI ClassMonikerROTData_QueryInterface(IROTData *iface,REFIID
TRACE("(%p,%p,%p)\n",iface,riid,ppvObject);
- return ClassMoniker_QueryInterface(&This->IMoniker_iface, riid, ppvObject);
+ return IMoniker_QueryInterface(&This->IMoniker_iface, riid, ppvObject);
}
/***********************************************************************
@@ -612,7 +602,7 @@ static ULONG WINAPI ClassMonikerROTData_AddRef(IROTData *iface)
TRACE("(%p)\n",iface);
- return ClassMoniker_AddRef(&This->IMoniker_iface);
+ return IMoniker_AddRef(&This->IMoniker_iface);
}
/***********************************************************************
@@ -624,7 +614,7 @@ static ULONG WINAPI ClassMonikerROTData_Release(IROTData* iface)
TRACE("(%p)\n",iface);
- return ClassMoniker_Release(&This->IMoniker_iface);
+ return IMoniker_Release(&This->IMoniker_iface);
}
/******************************************************************************
@@ -874,9 +864,10 @@ static const IClassFactoryVtbl ClassMonikerCFVtbl =
ClassMonikerCF_CreateInstance,
ClassMonikerCF_LockServer
};
-static const IClassFactoryVtbl *ClassMonikerCF = &ClassMonikerCFVtbl;
+
+static IClassFactory ClassMonikerCF = { &ClassMonikerCFVtbl };
HRESULT ClassMonikerCF_Create(REFIID riid, LPVOID *ppv)
{
- return IClassFactory_QueryInterface((IClassFactory *)&ClassMonikerCF, riid, ppv);
+ return IClassFactory_QueryInterface(&ClassMonikerCF, riid, ppv);
}
More information about the wine-cvs
mailing list