Nikolay Sivov : msxml3: Implement get_nodeTypeValue() for attributes without a type.
Alexandre Julliard
julliard at winehq.org
Mon Nov 14 13:33:55 CST 2011
Module: wine
Branch: master
Commit: dd9a2effd5efa09388e76e0282f2e3f206cbbdb4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dd9a2effd5efa09388e76e0282f2e3f206cbbdb4
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Sat Nov 5 13:42:41 2011 +0300
msxml3: Implement get_nodeTypeValue() for attributes without a type.
---
dlls/msxml3/attribute.c | 35 ++++++++++++++++++++++++++++++++---
1 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/dlls/msxml3/attribute.c b/dlls/msxml3/attribute.c
index b67a5b4..fc96658 100644
--- a/dlls/msxml3/attribute.c
+++ b/dlls/msxml3/attribute.c
@@ -448,11 +448,40 @@ static HRESULT WINAPI domattr_get_definition(
static HRESULT WINAPI domattr_get_nodeTypedValue(
IXMLDOMAttribute *iface,
- VARIANT* var1)
+ VARIANT* value)
{
domattr *This = impl_from_IXMLDOMAttribute( iface );
- FIXME("(%p)->(%p)\n", This, var1);
- return return_null_var(var1);
+ IXMLDOMDocument *doc;
+ HRESULT hr;
+
+ TRACE("(%p)->(%p)\n", This, value);
+
+ hr = IXMLDOMAttribute_get_ownerDocument(iface, &doc);
+ if (hr == S_OK)
+ {
+ IXMLDOMDocument2 *doc2;
+
+ hr = IXMLDOMDocument_QueryInterface(doc, &IID_IXMLDOMDocument2, (void**)&doc2);
+ IXMLDOMDocument_Release(doc);
+
+ if (hr == S_OK)
+ {
+ VARIANT schemas;
+
+ hr = IXMLDOMDocument2_get_schemas(doc2, &schemas);
+ IXMLDOMDocument2_Release(doc2);
+
+ if (hr != S_OK)
+ return IXMLDOMAttribute_get_value(iface, value);
+ else
+ {
+ FIXME("need to query schema for attribute type\n");
+ VariantClear(&schemas);
+ }
+ }
+ }
+
+ return return_null_var(value);
}
static HRESULT WINAPI domattr_put_nodeTypedValue(
More information about the wine-cvs
mailing list