Module: wine Branch: master Commit: 30e90c9acee2681070e4d6665e9df4f4e46932da URL: http://source.winehq.org/git/wine.git/?a=commit;h=30e90c9acee2681070e4d6665e... Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Mon Jan 24 00:09:40 2011 +0100 mstask: COM cleanup for the IClassFactory iface. --- dlls/mstask/factory.c | 17 ++++++++++++++--- dlls/mstask/mstask_private.h | 6 +----- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/dlls/mstask/factory.c b/dlls/mstask/factory.c index 8906d92..9dc1e29 100644 --- a/dlls/mstask/factory.c +++ b/dlls/mstask/factory.c @@ -21,12 +21,23 @@ WINE_DEFAULT_DEBUG_CHANNEL(mstask); +struct ClassFactoryImpl +{ + IClassFactory IClassFactory_iface; + LONG ref; +}; + +static inline ClassFactoryImpl *impl_from_IClassFactory(IClassFactory *iface) +{ + return CONTAINING_RECORD(iface, ClassFactoryImpl, IClassFactory_iface); +} + static HRESULT WINAPI MSTASK_IClassFactory_QueryInterface( LPCLASSFACTORY iface, REFIID riid, LPVOID *ppvObj) { - ClassFactoryImpl *This = (ClassFactoryImpl *)iface; + ClassFactoryImpl *This = impl_from_IClassFactory(iface); TRACE("IID: %s\n",debugstr_guid(riid)); if (ppvObj == NULL) @@ -35,7 +46,7 @@ static HRESULT WINAPI MSTASK_IClassFactory_QueryInterface( if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IClassFactory)) { - *ppvObj = &This->lpVtbl; + *ppvObj = &This->IClassFactory_iface; IClassFactory_AddRef(iface); return S_OK; } @@ -105,4 +116,4 @@ static const IClassFactoryVtbl IClassFactory_Vtbl = MSTASK_IClassFactory_LockServer }; -ClassFactoryImpl MSTASK_ClassFactory = { &IClassFactory_Vtbl }; +ClassFactoryImpl MSTASK_ClassFactory = { { &IClassFactory_Vtbl } }; diff --git a/dlls/mstask/mstask_private.h b/dlls/mstask/mstask_private.h index eb3ecf8..a5f7d90 100644 --- a/dlls/mstask/mstask_private.h +++ b/dlls/mstask/mstask_private.h @@ -31,11 +31,7 @@ extern LONG dll_ref; -typedef struct -{ - const IClassFactoryVtbl *lpVtbl; - LONG ref; -} ClassFactoryImpl; +typedef struct ClassFactoryImpl ClassFactoryImpl; extern ClassFactoryImpl MSTASK_ClassFactory; typedef struct