Michael Stefaniuc : msxml3: Use an iface instead of a vtbl pointer in domelem.
Alexandre Julliard
julliard at winehq.org
Fri Dec 17 11:30:42 CST 2010
Module: wine
Branch: master
Commit: 25df7aac27b8d3618f688826a64f15ff5d8ae2bc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=25df7aac27b8d3618f688826a64f15ff5d8ae2bc
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Thu Dec 16 01:04:12 2010 +0100
msxml3: Use an iface instead of a vtbl pointer in domelem.
---
dlls/msxml3/element.c | 18 +++++++++---------
1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index adb2bb3..f76bf60 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -44,13 +44,13 @@ static const xmlChar DT_nsURI[] = "urn:schemas-microsoft-com:datatypes";
typedef struct _domelem
{
xmlnode node;
- const struct IXMLDOMElementVtbl *lpVtbl;
+ IXMLDOMElement IXMLDOMElement_iface;
LONG ref;
} domelem;
static inline domelem *impl_from_IXMLDOMElement( IXMLDOMElement *iface )
{
- return (domelem *)((char*)iface - FIELD_OFFSET(domelem, lpVtbl));
+ return CONTAINING_RECORD(iface, domelem, IXMLDOMElement_iface);
}
static inline xmlNodePtr get_element( const domelem *This )
@@ -72,7 +72,7 @@ static HRESULT WINAPI domelem_QueryInterface(
IsEqualGUID( riid, &IID_IDispatch ) ||
IsEqualGUID( riid, &IID_IUnknown ) )
{
- *ppvObject = &This->lpVtbl;
+ *ppvObject = &This->IXMLDOMElement_iface;
}
else if(node_query_interface(&This->node, riid, ppvObject))
{
@@ -184,8 +184,8 @@ static HRESULT WINAPI domelem_Invoke(
hr = get_typeinfo(IXMLDOMElement_tid, &typeinfo);
if(SUCCEEDED(hr))
{
- hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams,
- pVarResult, pExcepInfo, puArgErr);
+ hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMElement_iface, dispIdMember, wFlags,
+ pDispParams, pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo);
}
@@ -314,7 +314,7 @@ static HRESULT WINAPI domelem_get_attributes(
TRACE("(%p)->(%p)\n", This, attributeMap);
- *attributeMap = create_nodemap((IXMLDOMNode*)&This->lpVtbl);
+ *attributeMap = create_nodemap((IXMLDOMNode*)&This->IXMLDOMElement_iface);
return S_OK;
}
@@ -1333,12 +1333,12 @@ IUnknown* create_element( xmlNodePtr element )
if ( !This )
return NULL;
- This->lpVtbl = &domelem_vtbl;
+ This->IXMLDOMElement_iface.lpVtbl = &domelem_vtbl;
This->ref = 1;
- init_xmlnode(&This->node, element, (IXMLDOMNode*)&This->lpVtbl, &domelem_dispex);
+ init_xmlnode(&This->node, element, (IXMLDOMNode*)&This->IXMLDOMElement_iface, &domelem_dispex);
- return (IUnknown*) &This->lpVtbl;
+ return (IUnknown*)&This->IXMLDOMElement_iface;
}
#endif
More information about the wine-cvs
mailing list