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( static HRESULT WINAPI domdoc_createDocumentFragment(
IXMLDOMDocument2 *iface, IXMLDOMDocument2 *iface,
IXMLDOMDocumentFragment** docFrag ) IXMLDOMDocumentFragment** frag )
{ {
domdoc *This = impl_from_IXMLDOMDocument2( iface ); domdoc *This = impl_from_IXMLDOMDocument2( iface );
xmlNodePtr xmlnode; VARIANT type;
TRACE("%p\n", iface); TRACE("(%p)->(%p)\n", This, frag);
if(!docFrag) V_VT(&type) = VT_I1;
return E_INVALIDARG; V_I1(&type) = NODE_DOCUMENT_FRAGMENT;
return IXMLDOMDocument_createNode(iface, type, NULL, NULL, (IXMLDOMNode**)frag);
*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;
} }