From 800463c21b85b6dfb13e085ff8e6b978f6ceeaa7 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 8 Jul 2008 20:56:28 +0200 Subject: [PATCH] msxml3: Implemented xmlnode_get_ownerDocument. --- dlls/msxml3/node.c | 7 +++++-- dlls/msxml3/tests/domdoc.c | 6 ++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index d4703dd23ff..bdc9ac95e56 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -701,8 +701,11 @@ static HRESULT WINAPI xmlnode_get_ownerDocument( IXMLDOMNode *iface, IXMLDOMDocument** DOMDocument) { - FIXME("\n"); - return E_NOTIMPL; + xmlnode *This = impl_from_IXMLDOMNode( iface ); + + TRACE("%p (%p)\n", This, DOMDocument); + + return DOMDocument_create_from_xmldoc(This->node->doc, (IXMLDOMDocument2**)DOMDocument); } static HRESULT WINAPI xmlnode_cloneNode( diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 3c1669e74b0..997d31c9a21 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -898,9 +898,7 @@ static void test_domnode( void ) { owner = NULL; r = IXMLDOMNode_get_ownerDocument( element, &owner ); - todo_wine { ok( r == S_OK, "get_ownerDocument return code\n"); - } ok( owner != doc, "get_ownerDocument return\n"); type = NODE_INVALID; @@ -1260,7 +1258,7 @@ todo_wine if (element) IXMLDOMElement_Release( element ); if (doc) - IXMLDOMDocument_Release( doc ); + ok(IXMLDOMDocument_Release( doc ) == 0, "document is not destroyed\n"); } static void test_refs(void) @@ -1608,7 +1606,7 @@ static void test_get_text(void) r = IXMLDOMDocument_getElementsByTagName( doc, str, &node_list ); ok( r == S_OK, "ret %08x\n", r ); SysFreeString(str); - + r = IXMLDOMNodeList_QueryInterface(node_list, &IID_IDispatch, NULL); ok( r == E_INVALIDARG, "ret %08x\n", r );