Module: wine Branch: master Commit: 26b95dc7fdf9ffc82cff6e4b0778663ffbcf0559 URL: http://source.winehq.org/git/wine.git/?a=commit;h=26b95dc7fdf9ffc82cff6e4b07...
Author: Piotr Caban piotr.caban@gmail.com Date: Tue Jul 8 20:53:58 2008 +0200
msxml3: Use IXMLDOMNode_get_nodeType in xmlnode_appendChild.
---
dlls/msxml3/node.c | 23 ++++++----------------- 1 files changed, 6 insertions(+), 17 deletions(-)
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index fac74c8..d4703dd 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);