From 26b95dc7fdf9ffc82cff6e4b0778663ffbcf0559 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 8 Jul 2008 20:53:58 +0200 Subject: [PATCH] msxml3: Use IXMLDOMNode_get_nodeType in xmlnode_appendChild. --- dlls/msxml3/node.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index fac74c8f2b5..d4703dd23ff 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -661,27 +661,16 @@ static HRESULT WINAPI xmlnode_appendChild( IXMLDOMNode** outNewChild) { xmlnode *This = impl_from_IXMLDOMNode( iface ); - IXMLDOMNode *pAttr = NULL; + DOMNodeType type; VARIANT var; + HRESULT hr; TRACE("(%p)->(%p,%p)\n", This, newChild, outNewChild); - /* Cannot Append an Attribute node. */ - IUnknown_QueryInterface(newChild, &IID_IXMLDOMNode, (LPVOID*)&pAttr); - if(pAttr) - { - xmlnode *ThisNew = impl_from_IXMLDOMNode( pAttr ); - - if(ThisNew->node->type == XML_ATTRIBUTE_NODE) - { - if(outNewChild) *outNewChild = NULL; - - IUnknown_Release(pAttr); - - return E_FAIL; - } - - IUnknown_Release(pAttr); + hr = IXMLDOMNode_get_nodeType(newChild, &type); + if(FAILED(hr) || type == NODE_ATTRIBUTE) { + if(outNewChild) *outNewChild = NULL; + return E_FAIL; } VariantInit(&var); -- 2.11.4.GIT