Qian Hong : mshtml: Handle DISPATCH_PROPERTYPUT | DISPATCH_PROPERTYPUTREF in invoke_builtin_prop.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Sep 18 14:26:07 CDT 2014
Module: wine
Branch: master
Commit: cdd28b0aca0647324abfb4493844d27e7471bd2c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=cdd28b0aca0647324abfb4493844d27e7471bd2c
Author: Qian Hong <qhong at codeweavers.com>
Date: Thu Sep 18 00:33:47 2014 +0800
mshtml: Handle DISPATCH_PROPERTYPUT | DISPATCH_PROPERTYPUTREF in invoke_builtin_prop.
---
dlls/mshtml/dispex.c | 3 ++-
dlls/mshtml/tests/script.c | 7 +++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index a81bf7c..4a872a8 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -1230,6 +1230,7 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD
switch(flags) {
case DISPATCH_PROPERTYPUT:
+ case DISPATCH_PROPERTYPUT | DISPATCH_PROPERTYPUTREF:
if(res)
V_VT(res) = VT_EMPTY;
hres = builtin_propput(This, func, dp, caller);
@@ -1249,7 +1250,7 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD
if(flags != (DISPATCH_PROPERTYGET|DISPATCH_METHOD) || dp->cArgs) {
if(V_VT(&v) != VT_DISPATCH) {
- FIXME("Not a function %s\n", debugstr_variant(&v));
+ FIXME("Not a function %s flags %08x\n", debugstr_variant(&v), flags);
VariantClear(&v);
return E_FAIL;
}
diff --git a/dlls/mshtml/tests/script.c b/dlls/mshtml/tests/script.c
index 031c0ac..c9b9eb5 100644
--- a/dlls/mshtml/tests/script.c
+++ b/dlls/mshtml/tests/script.c
@@ -2091,6 +2091,13 @@ static void test_default_arg_conv(IHTMLWindow2 *window)
test_elem_disabled(elem, VARIANT_FALSE);
+ V_VT(&v) = VT_I4;
+ V_I4(&v) = 1;
+ hres = dispex_propput(dispex, DISPID_IHTMLELEMENT3_DISABLED, DISPATCH_PROPERTYPUTREF, &v, NULL);
+ ok(hres == S_OK, "InvokeEx failed: %08x\n", hres);
+
+ test_elem_disabled(elem, VARIANT_TRUE);
+
IHTMLElement_Release(elem);
IDispatchEx_Release(dispex);
}
More information about the wine-cvs
mailing list