msxml3: Don't forward get_nodeTypedValue to node's IXMLDOMNode iface.
Its current implementation for XML_ENTITY_REF_NODE can't work and will always return VT_NULL variant anyways.
This commit is contained in:
parent
0abef30926
commit
730fa1e7f2
|
@ -418,7 +418,8 @@ static HRESULT WINAPI domattr_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
domattr *This = impl_from_IXMLDOMAttribute( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domattr_put_nodeTypedValue(
|
||||
|
|
|
@ -429,7 +429,8 @@ static HRESULT WINAPI domcdata_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
domcdata *This = impl_from_IXMLDOMCDATASection( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domcdata_put_nodeTypedValue(
|
||||
|
|
|
@ -422,7 +422,8 @@ static HRESULT WINAPI domcomment_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
domcomment *This = impl_from_IXMLDOMComment( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domcomment_put_nodeTypedValue(
|
||||
|
|
|
@ -426,7 +426,8 @@ static HRESULT WINAPI domfrag_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
domfrag *This = impl_from_IXMLDOMDocumentFragment( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domfrag_put_nodeTypedValue(
|
||||
|
|
|
@ -1280,7 +1280,8 @@ static HRESULT WINAPI domdoc_get_nodeTypedValue(
|
|||
VARIANT* typedValue )
|
||||
{
|
||||
domdoc *This = impl_from_IXMLDOMDocument3( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), typedValue );
|
||||
FIXME("(%p)->(%p)\n", This, typedValue);
|
||||
return return_null_var(typedValue);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domdoc_put_nodeTypedValue(
|
||||
|
|
|
@ -420,7 +420,8 @@ static HRESULT WINAPI entityref_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
entityref *This = impl_from_IXMLDOMEntityReference( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI entityref_put_nodeTypedValue(
|
||||
|
|
|
@ -836,43 +836,6 @@ static inline HRESULT VARIANT_from_xmlChar(xmlChar *str, VARIANT *v, BSTR type)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI xmlnode_get_nodeTypedValue(
|
||||
IXMLDOMNode *iface,
|
||||
VARIANT* typedValue)
|
||||
{
|
||||
xmlnode *This = impl_from_IXMLDOMNode( iface );
|
||||
VARIANT type;
|
||||
xmlChar *content;
|
||||
HRESULT hres = S_FALSE;
|
||||
|
||||
TRACE("(%p)->(%p)\n", This, typedValue);
|
||||
|
||||
if(!typedValue)
|
||||
return E_INVALIDARG;
|
||||
|
||||
V_VT(typedValue) = VT_NULL;
|
||||
|
||||
if (This->node->type == XML_ENTITY_REF_NODE)
|
||||
{
|
||||
VariantInit(&type);
|
||||
hres = IXMLDOMNode_get_dataType(This->iface, &type);
|
||||
|
||||
if(hres != S_OK)
|
||||
return IXMLDOMNode_get_nodeValue(This->iface, typedValue);
|
||||
|
||||
content = xmlNodeGetContent(This->node);
|
||||
hres = VARIANT_from_xmlChar(content, typedValue, hres==S_OK ? V_BSTR(&type) : NULL);
|
||||
VariantClear(&type);
|
||||
xmlFree(content);
|
||||
}
|
||||
else
|
||||
{
|
||||
FIXME("need to handle node type %i\n", This->node->type);
|
||||
}
|
||||
|
||||
return hres;
|
||||
}
|
||||
|
||||
BSTR EnsureCorrectEOL(BSTR sInput)
|
||||
{
|
||||
int nNum = 0;
|
||||
|
@ -1204,7 +1167,7 @@ static const struct IXMLDOMNodeVtbl xmlnode_vtbl =
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
xmlnode_get_nodeTypedValue,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -1624,7 +1587,8 @@ static HRESULT WINAPI unknode_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
unknode *This = impl_from_unkIXMLDOMNode( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI unknode_put_nodeTypedValue(
|
||||
|
|
|
@ -437,7 +437,8 @@ static HRESULT WINAPI dom_pi_get_nodeTypedValue(
|
|||
VARIANT* var1)
|
||||
{
|
||||
dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface );
|
||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
||||
FIXME("(%p)->(%p)\n", This, var1);
|
||||
return return_null_var(var1);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI dom_pi_put_nodeTypedValue(
|
||||
|
|
Loading…
Reference in New Issue