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

This commit is contained in:
Michael Stefaniuc 2010-12-16 01:04:15 +01:00 committed by Alexandre Julliard
parent 25df7aac27
commit 8db9985fee
1 changed files with 6 additions and 6 deletions

View File

@ -48,7 +48,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml);
typedef struct _xmlnodelist typedef struct _xmlnodelist
{ {
const struct IXMLDOMNodeListVtbl *lpVtbl; IXMLDOMNodeList IXMLDOMNodeList_iface;
LONG ref; LONG ref;
xmlNodePtr parent; xmlNodePtr parent;
xmlNodePtr current; xmlNodePtr current;
@ -56,7 +56,7 @@ typedef struct _xmlnodelist
static inline xmlnodelist *impl_from_IXMLDOMNodeList( IXMLDOMNodeList *iface ) static inline xmlnodelist *impl_from_IXMLDOMNodeList( IXMLDOMNodeList *iface )
{ {
return (xmlnodelist *)((char*)iface - FIELD_OFFSET(xmlnodelist, lpVtbl)); return CONTAINING_RECORD(iface, xmlnodelist, IXMLDOMNodeList_iface);
} }
static HRESULT WINAPI xmlnodelist_QueryInterface( static HRESULT WINAPI xmlnodelist_QueryInterface(
@ -188,8 +188,8 @@ static HRESULT WINAPI xmlnodelist_Invoke(
hr = get_typeinfo(IXMLDOMNodeList_tid, &typeinfo); hr = get_typeinfo(IXMLDOMNodeList_tid, &typeinfo);
if(SUCCEEDED(hr)) if(SUCCEEDED(hr))
{ {
hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams, hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMNodeList_iface, dispIdMember, wFlags,
pVarResult, pExcepInfo, puArgErr); pDispParams, pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo); ITypeInfo_Release(typeinfo);
} }
@ -319,14 +319,14 @@ IXMLDOMNodeList* create_children_nodelist( xmlNodePtr node )
if ( !nodelist ) if ( !nodelist )
return NULL; return NULL;
nodelist->lpVtbl = &xmlnodelist_vtbl; nodelist->IXMLDOMNodeList_iface.lpVtbl = &xmlnodelist_vtbl;
nodelist->ref = 1; nodelist->ref = 1;
nodelist->parent = node; nodelist->parent = node;
nodelist->current = node->children; nodelist->current = node->children;
xmldoc_add_ref( node->doc ); xmldoc_add_ref( node->doc );
return (IXMLDOMNodeList*) &nodelist->lpVtbl; return &nodelist->IXMLDOMNodeList_iface;
} }
#endif #endif