msxml3: Reimplement IXMLDOMDocument::createDocumentFragment() over ::createNode().

This commit is contained in:
Nikolay Sivov 2010-02-12 03:59:14 +03:00 committed by Alexandre Julliard
parent 16d83dc7d4
commit f5a2f4a2b9
1 changed files with 6 additions and 17 deletions

View File

@ -1065,27 +1065,16 @@ static HRESULT WINAPI domdoc_createElement(
static HRESULT WINAPI domdoc_createDocumentFragment(
IXMLDOMDocument2 *iface,
IXMLDOMDocumentFragment** docFrag )
IXMLDOMDocumentFragment** frag )
{
domdoc *This = impl_from_IXMLDOMDocument2( iface );
xmlNodePtr xmlnode;
VARIANT type;
TRACE("%p\n", iface);
TRACE("(%p)->(%p)\n", This, frag);
if(!docFrag)
return E_INVALIDARG;
*docFrag = NULL;
xmlnode = xmlNewDocFragment(get_doc( This ) );
if(!xmlnode)
return E_FAIL;
xmldoc_add_orphan(xmlnode->doc, xmlnode);
*docFrag = (IXMLDOMDocumentFragment*)create_doc_fragment(xmlnode);
return S_OK;
V_VT(&type) = VT_I1;
V_I1(&type) = NODE_DOCUMENT_FRAGMENT;
return IXMLDOMDocument_createNode(iface, type, NULL, NULL, (IXMLDOMNode**)frag);
}