Module: wine Branch: master Commit: f5348b25aff4642956891ef267a06341aed0f1a5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f5348b25aff4642956891ef267...
Author: Jacek Caban jacek@codeweavers.com Date: Sat Sep 4 17:54:13 2010 +0200
msxml3: Store outer iface as IXMLDOMNode instead of IUnknown in xmlnode.
---
dlls/msxml3/attribute.c | 2 +- dlls/msxml3/cdata.c | 2 +- dlls/msxml3/comment.c | 2 +- dlls/msxml3/docfrag.c | 2 +- dlls/msxml3/domdoc.c | 2 +- dlls/msxml3/element.c | 2 +- dlls/msxml3/entityref.c | 2 +- dlls/msxml3/msxml_private.h | 4 ++-- dlls/msxml3/node.c | 18 +++++++++--------- dlls/msxml3/pi.c | 2 +- dlls/msxml3/text.c | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c index 0bdc691..327f91c 100644 --- a/dlls/msxml3/attribute.c +++ b/dlls/msxml3/attribute.c @@ -556,7 +556,7 @@ IUnknown* create_attribute( xmlNodePtr attribute ) This->lpVtbl = &domattr_vtbl; This->ref = 1;
- init_xmlnode(&This->node, attribute, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, attribute, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/cdata.c b/dlls/msxml3/cdata.c index 373bbc8..b23d19d 100644 --- a/dlls/msxml3/cdata.c +++ b/dlls/msxml3/cdata.c @@ -835,7 +835,7 @@ IUnknown* create_cdata( xmlNodePtr text ) This->lpVtbl = &domcdata_vtbl; This->ref = 1;
- init_xmlnode(&This->node, text, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, text, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/comment.c b/dlls/msxml3/comment.c index 74d036d..6e7b77e 100644 --- a/dlls/msxml3/comment.c +++ b/dlls/msxml3/comment.c @@ -781,7 +781,7 @@ IUnknown* create_comment( xmlNodePtr comment ) This->lpVtbl = &domcomment_vtbl; This->ref = 1;
- init_xmlnode(&This->node, comment, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, comment, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/docfrag.c b/dlls/msxml3/docfrag.c index d1b5b8c..9ca63d3 100644 --- a/dlls/msxml3/docfrag.c +++ b/dlls/msxml3/docfrag.c @@ -526,7 +526,7 @@ IUnknown* create_doc_fragment( xmlNodePtr fragment ) This->lpVtbl = &domfrag_vtbl; This->ref = 1;
- init_xmlnode(&This->node, fragment, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, fragment, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 98045a0..3f01329 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -2404,7 +2404,7 @@ HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **docu doc->safeopt = 0; doc->bsc = NULL;
- init_xmlnode(&doc->node, (xmlNodePtr)xmldoc, (IUnknown*)&doc->lpVtbl, &domdoc_dispex); + init_xmlnode(&doc->node, (xmlNodePtr)xmldoc, (IXMLDOMNode*)&doc->lpVtbl, &domdoc_dispex);
*document = (IXMLDOMDocument3*)&doc->lpVtbl;
diff --git a/dlls/msxml3/element.c b/dlls/msxml3/element.c index 4c557ef..5b4a604 100644 --- a/dlls/msxml3/element.c +++ b/dlls/msxml3/element.c @@ -801,7 +801,7 @@ IUnknown* create_element( xmlNodePtr element ) This->lpVtbl = &domelem_vtbl; This->ref = 1;
- init_xmlnode(&This->node, element, (IUnknown*)&This->lpVtbl, &domelem_dispex); + init_xmlnode(&This->node, element, (IXMLDOMNode*)&This->lpVtbl, &domelem_dispex);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c index f583141..c55fd18 100644 --- a/dlls/msxml3/entityref.c +++ b/dlls/msxml3/entityref.c @@ -525,7 +525,7 @@ IUnknown* create_doc_entity_ref( xmlNodePtr entity ) This->lpVtbl = &entityref_vtbl; This->ref = 1;
- init_xmlnode(&This->node, entity, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, entity, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h index 2210574..fe843b8 100644 --- a/dlls/msxml3/msxml_private.h +++ b/dlls/msxml3/msxml_private.h @@ -145,7 +145,7 @@ typedef struct _xmlnode { DispatchEx dispex; const struct IXMLDOMNodeVtbl *lpVtbl; - IUnknown *pUnkOuter; + IXMLDOMNode *iface; LONG ref; xmlNodePtr node; } xmlnode; @@ -160,7 +160,7 @@ static inline IXMLDOMNode *IXMLDOMNode_from_impl(xmlnode *This) return (IXMLDOMNode*)&This->lpVtbl; }
-extern void init_xmlnode(xmlnode*,xmlNodePtr,IUnknown*,dispex_static_data_t*); +extern void init_xmlnode(xmlnode*,xmlNodePtr,IXMLDOMNode*,dispex_static_data_t*); extern void destroy_xmlnode(xmlnode*);
extern HRESULT DOMDocument_create_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document); diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index 2c6df32..5b9eee4 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -89,8 +89,8 @@ static HRESULT WINAPI xmlnode_QueryInterface(
TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
- if(This->pUnkOuter) - return IUnknown_QueryInterface(This->pUnkOuter, riid, ppvObject); + if(This->iface) + return IXMLDOMNode_QueryInterface(This->iface, riid, ppvObject);
if (IsEqualGUID(riid, &IID_IUnknown)) { *ppvObject = iface; @@ -112,8 +112,8 @@ static ULONG WINAPI xmlnode_AddRef( { xmlnode *This = impl_from_IXMLDOMNode( iface );
- if(This->pUnkOuter) - return IUnknown_AddRef(This->pUnkOuter); + if(This->iface) + return IXMLDOMNode_AddRef(This->iface);
return InterlockedIncrement(&This->ref); } @@ -124,8 +124,8 @@ static ULONG WINAPI xmlnode_Release( xmlnode *This = impl_from_IXMLDOMNode( iface ); LONG ref;
- if(This->pUnkOuter) - return IUnknown_Release(This->pUnkOuter); + if(This->iface) + return IXMLDOMNode_Release(This->iface);
ref = InterlockedDecrement( &This->ref ); if(!ref) { @@ -1713,7 +1713,7 @@ void destroy_xmlnode(xmlnode *This) xmldoc_release(This->node->doc); }
-void init_xmlnode(xmlnode *This, xmlNodePtr node, IUnknown *outer, dispex_static_data_t *dispex_data ) +void init_xmlnode(xmlnode *This, xmlNodePtr node, IXMLDOMNode *node_iface, dispex_static_data_t *dispex_data) { if(node) xmldoc_add_ref( node->doc ); @@ -1721,10 +1721,10 @@ void init_xmlnode(xmlnode *This, xmlNodePtr node, IUnknown *outer, dispex_static This->lpVtbl = &xmlnode_vtbl; This->ref = 1; This->node = node; - This->pUnkOuter = outer; + This->iface = node_iface;
if(dispex_data) - init_dispex(&This->dispex, This->pUnkOuter, dispex_data); + init_dispex(&This->dispex, (IUnknown*)This->iface, dispex_data); }
IXMLDOMNode *create_node( xmlNodePtr node ) diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c index 4a5e621..2c70cc7 100644 --- a/dlls/msxml3/pi.c +++ b/dlls/msxml3/pi.c @@ -611,7 +611,7 @@ IUnknown* create_pi( xmlNodePtr pi ) This->lpVtbl = &dom_pi_vtbl; This->ref = 1;
- init_xmlnode(&This->node, pi, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, pi, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; } diff --git a/dlls/msxml3/text.c b/dlls/msxml3/text.c index a087076..d3da258 100644 --- a/dlls/msxml3/text.c +++ b/dlls/msxml3/text.c @@ -811,7 +811,7 @@ IUnknown* create_text( xmlNodePtr text ) This->lpVtbl = &domtext_vtbl; This->ref = 1;
- init_xmlnode(&This->node, text, (IUnknown*)&This->lpVtbl, NULL); + init_xmlnode(&This->node, text, (IXMLDOMNode*)&This->lpVtbl, NULL);
return (IUnknown*) &This->lpVtbl; }