>From f2b29438b7ec0b0ddc212efff87f3c88d4321820 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Wed, 16 Nov 2011 00:28:51 +0300
Subject: [PATCH 2/4] Fix get_namespaceURI()

---
 dlls/msxml3/node.c         |    9 +++------
 dlls/msxml3/tests/domdoc.c |    2 --
 2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c
index 923a0c2..1df7331 100644
--- a/dlls/msxml3/node.c
+++ b/dlls/msxml3/node.c
@@ -1054,18 +1054,15 @@ HRESULT node_select_singlenode(const xmlnode *This, BSTR query, IXMLDOMNode **no
 
 HRESULT node_get_namespaceURI(xmlnode *This, BSTR *namespaceURI)
 {
-    xmlNsPtr *ns;
+    xmlNsPtr ns = This->node->ns;
 
     if(!namespaceURI)
         return E_INVALIDARG;
 
     *namespaceURI = NULL;
 
-    if ((ns = xmlGetNsList(This->node->doc, This->node)))
-    {
-        if (ns[0]->href) *namespaceURI = bstr_from_xmlChar( ns[0]->href );
-        xmlFree(ns);
-    }
+    if (ns && ns->href)
+        *namespaceURI = bstr_from_xmlChar(ns->href);
 
     TRACE("uri: %s\n", debugstr_w(*namespaceURI));
 
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index bad088f..699382f 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -8712,10 +8712,8 @@ static void test_get_prefix(void)
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMElement_get_namespaceURI(element, &str);
-todo_wine {
     EXPECT_HR(hr, S_FALSE);
     ok(str == NULL, "got %s\n", wine_dbgstr_w(str));
-}
 
     IXMLDOMDocument_Release(doc);
     free_bstrs();
-- 
1.5.6.5


