msxml3: Use an iface instead of a vtbl pointer in domtext.

This commit is contained in:
Michael Stefaniuc 2010-12-16 01:04:19 +01:00 committed by Alexandre Julliard
parent ba7c754726
commit 73b08ed2f0
1 changed files with 6 additions and 6 deletions

View File

@ -41,13 +41,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml);
typedef struct _domtext typedef struct _domtext
{ {
xmlnode node; xmlnode node;
const struct IXMLDOMTextVtbl *lpVtbl; IXMLDOMText IXMLDOMText_iface;
LONG ref; LONG ref;
} domtext; } domtext;
static inline domtext *impl_from_IXMLDOMText( IXMLDOMText *iface ) static inline domtext *impl_from_IXMLDOMText( IXMLDOMText *iface )
{ {
return (domtext *)((char*)iface - FIELD_OFFSET(domtext, lpVtbl)); return CONTAINING_RECORD(iface, domtext, IXMLDOMText_iface);
} }
static HRESULT WINAPI domtext_QueryInterface( static HRESULT WINAPI domtext_QueryInterface(
@ -179,7 +179,7 @@ static HRESULT WINAPI domtext_Invoke(
hr = get_typeinfo(IXMLDOMText_tid, &typeinfo); hr = get_typeinfo(IXMLDOMText_tid, &typeinfo);
if(SUCCEEDED(hr)) if(SUCCEEDED(hr))
{ {
hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams, hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMText_iface, dispIdMember, wFlags, pDispParams,
pVarResult, pExcepInfo, puArgErr); pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo); ITypeInfo_Release(typeinfo);
} }
@ -945,12 +945,12 @@ IUnknown* create_text( xmlNodePtr text )
if ( !This ) if ( !This )
return NULL; return NULL;
This->lpVtbl = &domtext_vtbl; This->IXMLDOMText_iface.lpVtbl = &domtext_vtbl;
This->ref = 1; This->ref = 1;
init_xmlnode(&This->node, text, (IXMLDOMNode*)&This->lpVtbl, NULL); init_xmlnode(&This->node, text, (IXMLDOMNode*)&This->IXMLDOMText_iface, NULL);
return (IUnknown*) &This->lpVtbl; return (IUnknown*)&This->IXMLDOMText_iface;
} }
#endif #endif