Module: wine Branch: master Commit: 30e90c9acee2681070e4d6665e9df4f4e46932da URL: http://source.winehq.org/git/wine.git/?a=commit;h=30e90c9acee2681070e4d6665e...
Author: Michael Stefaniuc mstefani@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