Module: wine Branch: master Commit: 7ad4aeb7352e302d4a9f7399caccaf92bb23f27c URL: http://source.winehq.org/git/wine.git/?a=commit;h=7ad4aeb7352e302d4a9f7399ca...
Author: Jacek Caban jacek@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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); }