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