Michael Stefaniuc : msctf: Use an iface instead of a vtbl pointer in DisplayAttributeMgr.
Module: wine Branch: master Commit: 242bd9e4b26a69466c7fb2210e815f0f9c29969e URL: http://source.winehq.org/git/wine.git/?a=commit;h=242bd9e4b26a69466c7fb2210e... Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Wed Dec 8 22:59:38 2010 +0100 msctf: Use an iface instead of a vtbl pointer in DisplayAttributeMgr. --- dlls/msctf/displayattributemgr.c | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/dlls/msctf/displayattributemgr.c b/dlls/msctf/displayattributemgr.c index 75248cd..44c61ab 100644 --- a/dlls/msctf/displayattributemgr.c +++ b/dlls/msctf/displayattributemgr.c @@ -31,12 +31,17 @@ WINE_DEFAULT_DEBUG_CHANNEL(msctf); typedef struct tagDisplayAttributeMgr { - const ITfDisplayAttributeMgrVtbl *DisplayAttributeMgrVtbl; + ITfDisplayAttributeMgr ITfDisplayAttributeMgr_iface; LONG refCount; } DisplayAttributeMgr; +static inline DisplayAttributeMgr *impl_from_ITfDisplayAttributeMgr(ITfDisplayAttributeMgr *iface) +{ + return CONTAINING_RECORD(iface, DisplayAttributeMgr, ITfDisplayAttributeMgr_iface); +} + static void DisplayAttributeMgr_Destructor(DisplayAttributeMgr *This) { TRACE("destroying %p\n", This); @@ -46,7 +51,7 @@ static void DisplayAttributeMgr_Destructor(DisplayAttributeMgr *This) static HRESULT WINAPI DisplayAttributeMgr_QueryInterface(ITfDisplayAttributeMgr *iface, REFIID iid, LPVOID *ppvOut) { - DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface; + DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface); *ppvOut = NULL; if (IsEqualIID(iid, &IID_IUnknown) || IsEqualIID(iid, &IID_ITfDisplayAttributeMgr)) @@ -66,13 +71,13 @@ static HRESULT WINAPI DisplayAttributeMgr_QueryInterface(ITfDisplayAttributeMgr static ULONG WINAPI DisplayAttributeMgr_AddRef(ITfDisplayAttributeMgr *iface) { - DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface; + DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface); return InterlockedIncrement(&This->refCount); } static ULONG WINAPI DisplayAttributeMgr_Release(ITfDisplayAttributeMgr *iface) { - DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface; + DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface); ULONG ret; ret = InterlockedDecrement(&This->refCount); @@ -87,7 +92,7 @@ static ULONG WINAPI DisplayAttributeMgr_Release(ITfDisplayAttributeMgr *iface) static HRESULT WINAPI DisplayAttributeMgr_OnUpdateInfo(ITfDisplayAttributeMgr *iface) { - DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface; + DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface); FIXME("STUB:(%p)\n",This); return E_NOTIMPL; @@ -95,7 +100,7 @@ static HRESULT WINAPI DisplayAttributeMgr_OnUpdateInfo(ITfDisplayAttributeMgr *i static HRESULT WINAPI DisplayAttributeMgr_EnumDisplayAttributeInfo(ITfDisplayAttributeMgr *iface, IEnumTfDisplayAttributeInfo **ppEnum) { - DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface; + DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface); FIXME("STUB:(%p)\n",This); return E_NOTIMPL; @@ -103,7 +108,7 @@ static HRESULT WINAPI DisplayAttributeMgr_EnumDisplayAttributeInfo(ITfDisplayAtt static HRESULT WINAPI DisplayAttributeMgr_GetDisplayAttributeInfo(ITfDisplayAttributeMgr *iface, REFGUID guid, ITfDisplayAttributeInfo **ppInfo, CLSID *pclsidOwner) { - DisplayAttributeMgr *This = (DisplayAttributeMgr *)iface; + DisplayAttributeMgr *This = impl_from_ITfDisplayAttributeMgr(iface); FIXME("STUB:(%p)\n",This); return E_NOTIMPL; @@ -130,7 +135,7 @@ HRESULT DisplayAttributeMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut) if (This == NULL) return E_OUTOFMEMORY; - This->DisplayAttributeMgrVtbl= &DisplayAttributeMgr_DisplayAttributeMgrVtbl; + This->ITfDisplayAttributeMgr_iface.lpVtbl = &DisplayAttributeMgr_DisplayAttributeMgrVtbl; This->refCount = 1; TRACE("returning %p\n", This);
participants (1)
-
Alexandre Julliard