Dont apply this patch.
"Alistair Leslie-Hughes" leslie_alistair@hotmail.com wrote in message news:fn6308$1gf$1@ger.gmane.org...
Hi,
Changelog: msxml3: Implement ownerDocument
Best Regards Alistair Leslie-Hughes
--------------------------------------------------------------------------------
From 422440f49888d555c6031e3e40cafda0523c6ad8 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Wed, 23 Jan 2008 11:07:59 +1100 Subject: [PATCH] Implement ownerDocument To: wine-patches wine-patches@winehq.org
dlls/msxml3/node.c | 22 ++++++++++++++++++++-- dlls/msxml3/tests/domdoc.c | 23 +++++++++++++++++++++-- 2 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index 9d43c09..bc7a2a0 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -602,8 +602,26 @@ static HRESULT WINAPI xmlnode_get_ownerDocument( IXMLDOMNode *iface, IXMLDOMDocument** DOMDocument) {
- FIXME("\n");
- return E_NOTIMPL;
- HRESULT hr = S_OK;
- xmlnode *This = impl_from_IXMLDOMNode( iface );
- TRACE("\n");
- if(!DOMDocument)
return E_INVALIDARG;
- *DOMDocument = NULL;
- switch( This->node->type )
- {
- case XML_DOCUMENT_NODE:
hr = S_FALSE;
break;
- default:
*DOMDocument = (IXMLDOMDocument*)create_basic_node(
(xmlNodePtr)This->node->doc, NULL );
break;
- }
- return hr;
}
static HRESULT WINAPI xmlnode_cloneNode( diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 4507d08..8802053 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -687,10 +687,9 @@ 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");
IXMLDOMDocument_Release(owner); type = NODE_INVALID; r = IXMLDOMNode_get_nodeType( element, &type);
@@ -1869,6 +1868,7 @@ static void test_cloneNode(void ) static void test_xmlTypes(void) { IXMLDOMDocument *doc = NULL;
- IXMLDOMDocument *docOwner = NULL; IXMLDOMElement *pRoot; HRESULT hr; IXMLDOMComment *pComment;
@@ -1923,6 +1923,25 @@ static void test_xmlTypes(void) ok(hr == S_OK, "ret %08x\n", hr ); ok( !lstrcmpW( str, _bstr_("document") ), "incorrect nodeTypeString string\n"); SysFreeString(str);
/* test ownerDocument */
hr = IXMLDOMDocument_get_ownerDocument(doc, NULL);
ok(hr == E_INVALIDARG, "ret %08x\n", hr );
hr = IXMLDOMDocument_get_ownerDocument(doc, &docOwner);
ok(hr == S_FALSE, "ret %08x\n", hr );
ok(docOwner == NULL, "ownerDocument return a value\n");
if(docOwner != NULL)
{
str = NULL;
hr = IXMLDOMDocument_get_nodeName( docOwner, &str );
ok ( hr == S_OK, "get_nodeName wrong code\n");
ok ( str != NULL, "str is null\n");
ok( !lstrcmpW( str, szDocument ), "incorrect nodeName\n");
SysFreeString( str );
IXMLDOMDocument_Release(docOwner);
}
/* test implementation */ hr = IXMLDOMDocument_get_implementation(doc, NULL);
-- 1.5.3.7
--------------------------------------------------------------------------------