[PATCH 1/2] msxml3: COM cleanup for the IXMLDOMNode iface in xmlnode.

Michael Stefaniuc mstefani at redhat.de
Mon Jan 24 03:29:41 CST 2011


---
 dlls/msxml3/attribute.c     |   16 ++++++++--------
 dlls/msxml3/cdata.c         |   16 ++++++++--------
 dlls/msxml3/comment.c       |   16 ++++++++--------
 dlls/msxml3/docfrag.c       |   16 ++++++++--------
 dlls/msxml3/domdoc.c        |   16 ++++++++--------
 dlls/msxml3/element.c       |   16 ++++++++--------
 dlls/msxml3/entityref.c     |   16 ++++++++--------
 dlls/msxml3/msxml_private.h |    7 +------
 dlls/msxml3/node.c          |   30 +++++++++++++++---------------
 dlls/msxml3/pi.c            |   16 ++++++++--------
 dlls/msxml3/text.c          |   16 ++++++++--------
 11 files changed, 88 insertions(+), 93 deletions(-)

diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index bae80e2..b7abe84 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -329,7 +329,7 @@ static HRESULT WINAPI domattr_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI domattr_appendChild(
@@ -337,7 +337,7 @@ static HRESULT WINAPI domattr_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI domattr_hasChildNodes(
@@ -345,7 +345,7 @@ static HRESULT WINAPI domattr_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI domattr_get_ownerDocument(
@@ -353,7 +353,7 @@ static HRESULT WINAPI domattr_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI domattr_cloneNode(
@@ -382,7 +382,7 @@ static HRESULT WINAPI domattr_get_text(
     BSTR* p)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI domattr_put_text(
@@ -470,7 +470,7 @@ static HRESULT WINAPI domattr_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI domattr_selectNodes(
@@ -478,7 +478,7 @@ static HRESULT WINAPI domattr_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI domattr_selectSingleNode(
@@ -486,7 +486,7 @@ static HRESULT WINAPI domattr_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     domattr *This = impl_from_IXMLDOMAttribute( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI domattr_get_parsed(
diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c
index d0984c1..cd59f89 100644
--- a/dlls/msxml3/cdata.c
+++ b/dlls/msxml3/cdata.c
@@ -340,7 +340,7 @@ static HRESULT WINAPI domcdata_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI domcdata_appendChild(
@@ -348,7 +348,7 @@ static HRESULT WINAPI domcdata_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI domcdata_hasChildNodes(
@@ -356,7 +356,7 @@ static HRESULT WINAPI domcdata_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI domcdata_get_ownerDocument(
@@ -364,7 +364,7 @@ static HRESULT WINAPI domcdata_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI domcdata_cloneNode(
@@ -393,7 +393,7 @@ static HRESULT WINAPI domcdata_get_text(
     BSTR* p)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI domcdata_put_text(
@@ -481,7 +481,7 @@ static HRESULT WINAPI domcdata_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI domcdata_selectNodes(
@@ -489,7 +489,7 @@ static HRESULT WINAPI domcdata_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI domcdata_selectSingleNode(
@@ -497,7 +497,7 @@ static HRESULT WINAPI domcdata_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     domcdata *This = impl_from_IXMLDOMCDATASection( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI domcdata_get_parsed(
diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c
index 5ebc9c3..ed7b53e 100644
--- a/dlls/msxml3/comment.c
+++ b/dlls/msxml3/comment.c
@@ -333,7 +333,7 @@ static HRESULT WINAPI domcomment_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI domcomment_appendChild(
@@ -341,7 +341,7 @@ static HRESULT WINAPI domcomment_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI domcomment_hasChildNodes(
@@ -349,7 +349,7 @@ static HRESULT WINAPI domcomment_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI domcomment_get_ownerDocument(
@@ -357,7 +357,7 @@ static HRESULT WINAPI domcomment_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI domcomment_cloneNode(
@@ -386,7 +386,7 @@ static HRESULT WINAPI domcomment_get_text(
     BSTR* p)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI domcomment_put_text(
@@ -474,7 +474,7 @@ static HRESULT WINAPI domcomment_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI domcomment_selectNodes(
@@ -482,7 +482,7 @@ static HRESULT WINAPI domcomment_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI domcomment_selectSingleNode(
@@ -490,7 +490,7 @@ static HRESULT WINAPI domcomment_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     domcomment *This = impl_from_IXMLDOMComment( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI domcomment_get_parsed(
diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c
index 8ecf905..dad702f 100644
--- a/dlls/msxml3/docfrag.c
+++ b/dlls/msxml3/docfrag.c
@@ -337,7 +337,7 @@ static HRESULT WINAPI domfrag_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI domfrag_appendChild(
@@ -345,7 +345,7 @@ static HRESULT WINAPI domfrag_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI domfrag_hasChildNodes(
@@ -353,7 +353,7 @@ static HRESULT WINAPI domfrag_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI domfrag_get_ownerDocument(
@@ -361,7 +361,7 @@ static HRESULT WINAPI domfrag_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI domfrag_cloneNode(
@@ -390,7 +390,7 @@ static HRESULT WINAPI domfrag_get_text(
     BSTR* p)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI domfrag_put_text(
@@ -478,7 +478,7 @@ static HRESULT WINAPI domfrag_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI domfrag_selectNodes(
@@ -486,7 +486,7 @@ static HRESULT WINAPI domfrag_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI domfrag_selectSingleNode(
@@ -494,7 +494,7 @@ static HRESULT WINAPI domfrag_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI domfrag_get_parsed(
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index b4a5b84..f5bfaa4 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -1179,7 +1179,7 @@ static HRESULT WINAPI domdoc_removeChild(
     IXMLDOMNode** oldChild)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), childNode, oldChild );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, childNode, oldChild );
 }
 
 
@@ -1189,7 +1189,7 @@ static HRESULT WINAPI domdoc_appendChild(
     IXMLDOMNode** outNewChild)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newChild, outNewChild );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newChild, outNewChild );
 }
 
 
@@ -1198,7 +1198,7 @@ static HRESULT WINAPI domdoc_hasChildNodes(
     VARIANT_BOOL* hasChild)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), hasChild );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, hasChild );
 }
 
 
@@ -1207,7 +1207,7 @@ static HRESULT WINAPI domdoc_get_ownerDocument(
     IXMLDOMDocument** DOMDocument)
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), DOMDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, DOMDocument );
 }
 
 
@@ -1240,7 +1240,7 @@ static HRESULT WINAPI domdoc_get_text(
     BSTR* text )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), text );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, text );
 }
 
 
@@ -1385,7 +1385,7 @@ static HRESULT WINAPI domdoc_transformNode(
     BSTR* xmlString )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), styleSheet, xmlString );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, styleSheet, xmlString );
 }
 
 
@@ -1395,7 +1395,7 @@ static HRESULT WINAPI domdoc_selectNodes(
     IXMLDOMNodeList** resultList )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), queryString, resultList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, queryString, resultList );
 }
 
 
@@ -1405,7 +1405,7 @@ static HRESULT WINAPI domdoc_selectSingleNode(
     IXMLDOMNode** resultNode )
 {
     domdoc *This = impl_from_IXMLDOMDocument3( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), queryString, resultNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, queryString, resultNode );
 }
 
 
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c
index fe3e558..5392c5d 100644
--- a/dlls/msxml3/element.c
+++ b/dlls/msxml3/element.c
@@ -348,7 +348,7 @@ static HRESULT WINAPI domelem_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI domelem_appendChild(
@@ -356,7 +356,7 @@ static HRESULT WINAPI domelem_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI domelem_hasChildNodes(
@@ -364,7 +364,7 @@ static HRESULT WINAPI domelem_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI domelem_get_ownerDocument(
@@ -372,7 +372,7 @@ static HRESULT WINAPI domelem_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI domelem_cloneNode(
@@ -401,7 +401,7 @@ static HRESULT WINAPI domelem_get_text(
     BSTR* p)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI domelem_put_text(
@@ -930,7 +930,7 @@ static HRESULT WINAPI domelem_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI domelem_selectNodes(
@@ -938,7 +938,7 @@ static HRESULT WINAPI domelem_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI domelem_selectSingleNode(
@@ -946,7 +946,7 @@ static HRESULT WINAPI domelem_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     domelem *This = impl_from_IXMLDOMElement( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI domelem_get_parsed(
diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c
index dc68143..de1beb2 100644
--- a/dlls/msxml3/entityref.c
+++ b/dlls/msxml3/entityref.c
@@ -331,7 +331,7 @@ static HRESULT WINAPI entityref_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI entityref_appendChild(
@@ -339,7 +339,7 @@ static HRESULT WINAPI entityref_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI entityref_hasChildNodes(
@@ -347,7 +347,7 @@ static HRESULT WINAPI entityref_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI entityref_get_ownerDocument(
@@ -355,7 +355,7 @@ static HRESULT WINAPI entityref_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI entityref_cloneNode(
@@ -384,7 +384,7 @@ static HRESULT WINAPI entityref_get_text(
     BSTR* p)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI entityref_put_text(
@@ -472,7 +472,7 @@ static HRESULT WINAPI entityref_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI entityref_selectNodes(
@@ -480,7 +480,7 @@ static HRESULT WINAPI entityref_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI entityref_selectSingleNode(
@@ -488,7 +488,7 @@ static HRESULT WINAPI entityref_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     entityref *This = impl_from_IXMLDOMEntityReference( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI entityref_get_parsed(
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index ff255cb..52a849b 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -240,16 +240,11 @@ extern void set_xpathmode(xmlDocPtr doc, BOOL xpath);
 typedef struct _xmlnode
 {
     DispatchEx dispex;
-    const struct IXMLDOMNodeVtbl *lpVtbl;
+    IXMLDOMNode IXMLDOMNode_iface;
     IXMLDOMNode *iface;
     xmlNodePtr node;
 } xmlnode;
 
-static inline IXMLDOMNode *IXMLDOMNode_from_impl(xmlnode *This)
-{
-    return (IXMLDOMNode*)&This->lpVtbl;
-}
-
 extern void init_xmlnode(xmlnode*,xmlNodePtr,IXMLDOMNode*,dispex_static_data_t*);
 extern void destroy_xmlnode(xmlnode*);
 extern BOOL node_query_interface(xmlnode*,REFIID,void**);
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index b2e5b16..f0b86b2 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -107,7 +107,7 @@ xmlnode *get_node_obj(IXMLDOMNode *node)
 
 static inline xmlnode *impl_from_IXMLDOMNode( IXMLDOMNode *iface )
 {
-    return (xmlnode *)((char*)iface - FIELD_OFFSET(xmlnode, lpVtbl));
+    return CONTAINING_RECORD(iface, xmlnode, IXMLDOMNode_iface);
 }
 
 HRESULT node_get_nodeName(xmlnode *This, BSTR *name)
@@ -1183,7 +1183,7 @@ void init_xmlnode(xmlnode *This, xmlNodePtr node, IXMLDOMNode *node_iface, dispe
     if(node)
         xmldoc_add_ref( node->doc );
 
-    This->lpVtbl = &xmlnode_vtbl;
+    This->IXMLDOMNode_iface.lpVtbl = &xmlnode_vtbl;
     This->node = node;
     This->iface = node_iface;
 
@@ -1494,7 +1494,7 @@ static HRESULT WINAPI unknode_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI unknode_appendChild(
@@ -1502,7 +1502,7 @@ static HRESULT WINAPI unknode_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI unknode_hasChildNodes(
@@ -1510,7 +1510,7 @@ static HRESULT WINAPI unknode_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI unknode_get_ownerDocument(
@@ -1518,7 +1518,7 @@ static HRESULT WINAPI unknode_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI unknode_cloneNode(
@@ -1526,7 +1526,7 @@ static HRESULT WINAPI unknode_cloneNode(
     VARIANT_BOOL pbool, IXMLDOMNode** outNode)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_cloneNode( IXMLDOMNode_from_impl(&This->node), pbool, outNode );
+    return IXMLDOMNode_cloneNode( &This->node.IXMLDOMNode_iface, pbool, outNode );
 }
 
 static HRESULT WINAPI unknode_get_nodeTypeString(
@@ -1545,7 +1545,7 @@ static HRESULT WINAPI unknode_get_text(
     BSTR* p)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI unknode_put_text(
@@ -1553,7 +1553,7 @@ static HRESULT WINAPI unknode_put_text(
     BSTR p)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_put_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_put_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI unknode_get_specified(
@@ -1598,7 +1598,7 @@ static HRESULT WINAPI unknode_get_dataType(
     VARIANT* var1)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_get_dataType( IXMLDOMNode_from_impl(&This->node), var1 );
+    return IXMLDOMNode_get_dataType( &This->node.IXMLDOMNode_iface, var1 );
 }
 
 static HRESULT WINAPI unknode_put_dataType(
@@ -1631,7 +1631,7 @@ static HRESULT WINAPI unknode_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI unknode_selectNodes(
@@ -1639,7 +1639,7 @@ static HRESULT WINAPI unknode_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI unknode_selectSingleNode(
@@ -1647,7 +1647,7 @@ static HRESULT WINAPI unknode_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI unknode_get_parsed(
@@ -1674,7 +1674,7 @@ static HRESULT WINAPI unknode_get_prefix(
     BSTR* p)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_get_prefix( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_prefix( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI unknode_get_baseName(
@@ -1682,7 +1682,7 @@ static HRESULT WINAPI unknode_get_baseName(
     BSTR* p)
 {
     unknode *This = impl_from_unkIXMLDOMNode( iface );
-    return IXMLDOMNode_get_baseName( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_baseName( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI unknode_transformNodeToObject(
diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 48adea8..edec320 100644
--- a/dlls/msxml3/pi.c
+++ b/dlls/msxml3/pi.c
@@ -347,7 +347,7 @@ static HRESULT WINAPI dom_pi_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI dom_pi_appendChild(
@@ -355,7 +355,7 @@ static HRESULT WINAPI dom_pi_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI dom_pi_hasChildNodes(
@@ -363,7 +363,7 @@ static HRESULT WINAPI dom_pi_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI dom_pi_get_ownerDocument(
@@ -371,7 +371,7 @@ static HRESULT WINAPI dom_pi_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI dom_pi_cloneNode(
@@ -401,7 +401,7 @@ static HRESULT WINAPI dom_pi_get_text(
     BSTR* p)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI dom_pi_put_text(
@@ -489,7 +489,7 @@ static HRESULT WINAPI dom_pi_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI dom_pi_selectNodes(
@@ -497,7 +497,7 @@ static HRESULT WINAPI dom_pi_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI dom_pi_selectSingleNode(
@@ -505,7 +505,7 @@ static HRESULT WINAPI dom_pi_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI dom_pi_get_parsed(
diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c
index 0d3425e..e85e50c 100644
--- a/dlls/msxml3/text.c
+++ b/dlls/msxml3/text.c
@@ -346,7 +346,7 @@ static HRESULT WINAPI domtext_removeChild(
     IXMLDOMNode* domNode, IXMLDOMNode** oldNode)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_removeChild( IXMLDOMNode_from_impl(&This->node), domNode, oldNode );
+    return IXMLDOMNode_removeChild( &This->node.IXMLDOMNode_iface, domNode, oldNode );
 }
 
 static HRESULT WINAPI domtext_appendChild(
@@ -354,7 +354,7 @@ static HRESULT WINAPI domtext_appendChild(
     IXMLDOMNode* newNode, IXMLDOMNode** outNewNode)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_appendChild( IXMLDOMNode_from_impl(&This->node), newNode, outNewNode );
+    return IXMLDOMNode_appendChild( &This->node.IXMLDOMNode_iface, newNode, outNewNode );
 }
 
 static HRESULT WINAPI domtext_hasChildNodes(
@@ -362,7 +362,7 @@ static HRESULT WINAPI domtext_hasChildNodes(
     VARIANT_BOOL* pbool)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_hasChildNodes( IXMLDOMNode_from_impl(&This->node), pbool );
+    return IXMLDOMNode_hasChildNodes( &This->node.IXMLDOMNode_iface, pbool );
 }
 
 static HRESULT WINAPI domtext_get_ownerDocument(
@@ -370,7 +370,7 @@ static HRESULT WINAPI domtext_get_ownerDocument(
     IXMLDOMDocument** domDocument)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_get_ownerDocument( IXMLDOMNode_from_impl(&This->node), domDocument );
+    return IXMLDOMNode_get_ownerDocument( &This->node.IXMLDOMNode_iface, domDocument );
 }
 
 static HRESULT WINAPI domtext_cloneNode(
@@ -399,7 +399,7 @@ static HRESULT WINAPI domtext_get_text(
     BSTR* p)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_get_text( IXMLDOMNode_from_impl(&This->node), p );
+    return IXMLDOMNode_get_text( &This->node.IXMLDOMNode_iface, p );
 }
 
 static HRESULT WINAPI domtext_put_text(
@@ -559,7 +559,7 @@ static HRESULT WINAPI domtext_transformNode(
     IXMLDOMNode* domNode, BSTR* p)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_transformNode( IXMLDOMNode_from_impl(&This->node), domNode, p );
+    return IXMLDOMNode_transformNode( &This->node.IXMLDOMNode_iface, domNode, p );
 }
 
 static HRESULT WINAPI domtext_selectNodes(
@@ -567,7 +567,7 @@ static HRESULT WINAPI domtext_selectNodes(
     BSTR p, IXMLDOMNodeList** outList)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_selectNodes( IXMLDOMNode_from_impl(&This->node), p, outList );
+    return IXMLDOMNode_selectNodes( &This->node.IXMLDOMNode_iface, p, outList );
 }
 
 static HRESULT WINAPI domtext_selectSingleNode(
@@ -575,7 +575,7 @@ static HRESULT WINAPI domtext_selectSingleNode(
     BSTR p, IXMLDOMNode** outNode)
 {
     domtext *This = impl_from_IXMLDOMText( iface );
-    return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode );
+    return IXMLDOMNode_selectSingleNode( &This->node.IXMLDOMNode_iface, p, outNode );
 }
 
 static HRESULT WINAPI domtext_get_parsed(
-- 
1.7.3.4



More information about the wine-patches mailing list