msxml3: Use our parent doc if we don't have one.
This commit is contained in:
parent
e0aee93dc6
commit
17db41c349
@ -387,6 +387,11 @@ static HRESULT get_node(
|
|||||||
|
|
||||||
if ( !out )
|
if ( !out )
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
/* if we dont have a doc, use our parent. */
|
||||||
|
if(node && !node->doc && node->parent)
|
||||||
|
node->doc = node->parent->doc;
|
||||||
|
|
||||||
*out = create_node( node );
|
*out = create_node( node );
|
||||||
if (!*out)
|
if (!*out)
|
||||||
return S_FALSE;
|
return S_FALSE;
|
||||||
|
@ -2404,6 +2404,7 @@ static void test_cloneNode(void )
|
|||||||
long nAttrCnt = 0, nAttrCnt1 = 0;
|
long nAttrCnt = 0, nAttrCnt1 = 0;
|
||||||
IXMLDOMNode *node;
|
IXMLDOMNode *node;
|
||||||
IXMLDOMNode *node_clone;
|
IXMLDOMNode *node_clone;
|
||||||
|
IXMLDOMNode *node_first;
|
||||||
HRESULT r;
|
HRESULT r;
|
||||||
BSTR str;
|
BSTR str;
|
||||||
static const WCHAR szSearch[] = { 'l', 'c', '/', 'p', 'r', 0 };
|
static const WCHAR szSearch[] = { 'l', 'c', '/', 'p', 'r', 0 };
|
||||||
@ -2448,6 +2449,20 @@ static void test_cloneNode(void )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
r = IXMLDOMNode_get_firstChild(node_clone, &node_first);
|
||||||
|
ok( r == S_OK, "ret %08x\n", r );
|
||||||
|
if(r == S_OK)
|
||||||
|
{
|
||||||
|
IXMLDOMDocument *doc2;
|
||||||
|
|
||||||
|
r = IXMLDOMNode_get_ownerDocument(node_clone, &doc2);
|
||||||
|
ok( r == S_OK, "ret %08x\n", r );
|
||||||
|
if(r == S_OK)
|
||||||
|
IXMLDOMDocument_Release(doc2);
|
||||||
|
|
||||||
|
IXMLDOMNode_Release(node_first);
|
||||||
|
}
|
||||||
|
|
||||||
r = IXMLDOMNode_get_childNodes(node, &pList);
|
r = IXMLDOMNode_get_childNodes(node, &pList);
|
||||||
ok( r == S_OK, "ret %08x\n", r );
|
ok( r == S_OK, "ret %08x\n", r );
|
||||||
if (pList)
|
if (pList)
|
||||||
@ -2496,6 +2511,20 @@ static void test_cloneNode(void )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
r = IXMLDOMNode_get_firstChild(node_clone, &node_first);
|
||||||
|
ok( r == S_FALSE, "ret %08x\n", r );
|
||||||
|
if(r == S_OK)
|
||||||
|
{
|
||||||
|
IXMLDOMDocument *doc2;
|
||||||
|
|
||||||
|
r = IXMLDOMNode_get_ownerDocument(node_clone, &doc2);
|
||||||
|
ok( r == S_OK, "ret %08x\n", r );
|
||||||
|
if(r == S_OK)
|
||||||
|
IXMLDOMDocument_Release(doc2);
|
||||||
|
|
||||||
|
IXMLDOMNode_Release(node_first);
|
||||||
|
}
|
||||||
|
|
||||||
r = IXMLDOMNode_get_childNodes(node_clone, &pList);
|
r = IXMLDOMNode_get_childNodes(node_clone, &pList);
|
||||||
ok( r == S_OK, "ret %08x\n", r );
|
ok( r == S_OK, "ret %08x\n", r );
|
||||||
if (pList)
|
if (pList)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user