Jacek Caban : mshtml: Added support for IHTMLDOMAttribute2:: get_value on detached attributes.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Mar 30 10:00:31 CDT 2016
Module: wine
Branch: master
Commit: 7ad4aeb7352e302d4a9f7399caccaf92bb23f27c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7ad4aeb7352e302d4a9f7399caccaf92bb23f27c
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Mar 30 14:38:58 2016 +0200
mshtml: Added support for IHTMLDOMAttribute2::get_value on detached attributes.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/htmlattr.c | 11 +++++------
dlls/mshtml/tests/dom.c | 7 +++++++
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmlattr.c b/dlls/mshtml/htmlattr.c
index 8b21eea..bd7cb82 100644
--- a/dlls/mshtml/htmlattr.c
+++ b/dlls/mshtml/htmlattr.c
@@ -310,12 +310,11 @@ static HRESULT WINAPI HTMLDOMAttribute2_get_value(IHTMLDOMAttribute2 *iface, BST
TRACE("(%p)->(%p)\n", This, p);
- if(!This->elem) {
- FIXME("NULL This->elem\n");
- return E_UNEXPECTED;
- }
-
- hres = get_elem_attr_value_by_dispid(This->elem, This->dispid, &val);
+ V_VT(&val) = VT_EMPTY;
+ if(This->elem)
+ hres = get_elem_attr_value_by_dispid(This->elem, This->dispid, &val);
+ else
+ hres = VariantCopy(&val, &This->value);
if(SUCCEEDED(hres))
hres = attr_value_to_string(&val);
if(FAILED(hres))
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index f64bd82..41dddab 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -8610,11 +8610,18 @@ static void test_attr(IHTMLDocument2 *doc, IHTMLElement *elem)
get_attr_node_value(attr, &v, VT_I4);
ok(V_I4(&v) == 1, "nodeValue = %d\n", V_I4(&v));
+ test_attr_value(attr, "1");
V_VT(&v) = VT_EMPTY;
put_attr_node_value(attr, v);
get_attr_node_value(attr, &v, VT_EMPTY);
+ V_VT(&v) = VT_BSTR;
+ V_BSTR(&v) = a2bstr("testing");
+ put_attr_node_value(attr, v);
+ SysFreeString(V_BSTR(&v));
+ test_attr_value(attr, "testing");
+
IHTMLDOMAttribute_Release(attr);
}
More information about the wine-cvs
mailing list