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 )
|
||||
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 );
|
||||
if (!*out)
|
||||
return S_FALSE;
|
||||
|
|
|
@ -2404,6 +2404,7 @@ static void test_cloneNode(void )
|
|||
long nAttrCnt = 0, nAttrCnt1 = 0;
|
||||
IXMLDOMNode *node;
|
||||
IXMLDOMNode *node_clone;
|
||||
IXMLDOMNode *node_first;
|
||||
HRESULT r;
|
||||
BSTR str;
|
||||
static const WCHAR szSearch[] = { 'l', 'c', '/', 'p', 'r', 0 };
|
||||
|
@ -2448,6 +2449,20 @@ static void test_cloneNode(void )
|
|||
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);
|
||||
ok( r == S_OK, "ret %08x\n", r );
|
||||
if (pList)
|
||||
|
@ -2496,6 +2511,20 @@ static void test_cloneNode(void )
|
|||
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);
|
||||
ok( r == S_OK, "ret %08x\n", r );
|
||||
if (pList)
|
||||
|
|
Loading…
Reference in New Issue