Piotr Caban : msxml3: Use IXMLDOMNode_get_nodeType in xmlnode_appendChild.
Alexandre Julliard
julliard at winehq.org
Wed Jul 9 06:10:22 CDT 2008
Module: wine
Branch: master
Commit: 26b95dc7fdf9ffc82cff6e4b0778663ffbcf0559
URL: http://source.winehq.org/git/wine.git/?a=commit;h=26b95dc7fdf9ffc82cff6e4b0778663ffbcf0559
Author: Piotr Caban <piotr.caban at 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);
More information about the wine-cvs
mailing list