Piotr Caban : msxml3: Implemented xmlnode_get_ownerDocument.

Alexandre Julliard julliard at winehq.org
Wed Jul 9 06:10:26 CDT 2008


Module: wine
Branch: master
Commit: 800463c21b85b6dfb13e085ff8e6b978f6ceeaa7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=800463c21b85b6dfb13e085ff8e6b978f6ceeaa7

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Tue Jul  8 20:56:28 2008 +0200

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 d4703dd..bdc9ac9 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 3c1669e..997d31c 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 );
 




More information about the wine-cvs mailing list