Michael Stefaniuc : msxml3: Use an iface instead of a vtbl pointer in domimpl.
Module: wine Branch: master Commit: 0be2929b031eb9f32cb0d3c66c3b67bf969d602d URL: http://source.winehq.org/git/wine.git/?a=commit;h=0be2929b031eb9f32cb0d3c66c... Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Thu Dec 16 01:04:11 2010 +0100 msxml3: Use an iface instead of a vtbl pointer in domimpl. --- dlls/msxml3/domimpl.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dlls/msxml3/domimpl.c b/dlls/msxml3/domimpl.c index 32a27bb..5cc6bff 100644 --- a/dlls/msxml3/domimpl.c +++ b/dlls/msxml3/domimpl.c @@ -39,13 +39,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml); typedef struct _domimpl { - const struct IXMLDOMImplementationVtbl *lpVtbl; + IXMLDOMImplementation IXMLDOMImplementation_iface; LONG ref; } domimpl; static inline domimpl *impl_from_IXMLDOMImplementation( IXMLDOMImplementation *iface ) { - return (domimpl *)((char*)iface - FIELD_OFFSET(domimpl, lpVtbl)); + return CONTAINING_RECORD(iface, domimpl, IXMLDOMImplementation_iface); } static HRESULT WINAPI dimimpl_QueryInterface( @@ -164,8 +164,8 @@ static HRESULT WINAPI dimimpl_Invoke( hr = get_typeinfo(IXMLDOMImplementation_tid, &typeinfo); if(SUCCEEDED(hr)) { - hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams, - pVarResult, pExcepInfo, puArgErr); + hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMImplementation_iface, dispIdMember, wFlags, + pDispParams, pVarResult, pExcepInfo, puArgErr); ITypeInfo_Release(typeinfo); } @@ -220,10 +220,10 @@ IUnknown* create_doc_Implementation(void) if ( !This ) return NULL; - This->lpVtbl = &dimimpl_vtbl; + This->IXMLDOMImplementation_iface.lpVtbl = &dimimpl_vtbl; This->ref = 1; - return (IUnknown*) &This->lpVtbl; + return (IUnknown*)&This->IXMLDOMImplementation_iface; } #endif
participants (1)
-
Alexandre Julliard