[PATCH] Cannot add an Attribute with appendChild
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Tue Jan 1 20:02:12 CST 2008
---
dlls/msxml3/node.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index b7d962e..0141930 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -479,9 +479,27 @@ static HRESULT WINAPI xmlnode_appendChild(
IXMLDOMNode** outNewChild)
{
xmlnode *This = impl_from_IXMLDOMNode( iface );
+ IXMLDOMNode *pAttr = NULL;
VARIANT var;
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 );
+
+ IUnknown_Release(pAttr);
+
+ if(ThisNew->node->type == XML_ATTRIBUTE_NODE)
+ {
+ if(outNewChild) *outNewChild = NULL;
+
+ return E_FAIL;
+ }
+ }
+
VariantInit(&var);
return IXMLDOMNode_insertBefore(iface, newChild, var, outNewChild);
}
--
1.5.3.6
--------------000901080402010607090308--
More information about the wine-patches
mailing list