Commit 40c74cf3 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Support argument type conversion for functions with dual interface return type.

parent 0a942e5d
...@@ -302,12 +302,11 @@ static void add_func_info(dispex_data_t *data, tid_t tid, const FUNCDESC *desc, ...@@ -302,12 +302,11 @@ static void add_func_info(dispex_data_t *data, tid_t tid, const FUNCDESC *desc,
if(!info->arg_types) if(!info->arg_types)
return; return;
for(i=0; i < info->argc; i++) for(i=0; i < info->argc; i++)
info->arg_types[i] = desc->lprgelemdescParam[i].tdesc.vt; info->arg_types[i] = desc->lprgelemdescParam[i].tdesc.vt;
info->prop_vt = desc->elemdescFunc.tdesc.vt; info->prop_vt = desc->elemdescFunc.tdesc.vt;
if(info->prop_vt != VT_VOID && !is_arg_type_supported(info->prop_vt)) { if(info->prop_vt != VT_VOID && info->prop_vt != VT_PTR && !is_arg_type_supported(info->prop_vt)) {
TRACE("%s: return type %d\n", debugstr_w(info->name), info->prop_vt); TRACE("%s: return type %d\n", debugstr_w(info->name), info->prop_vt);
return; /* Fallback to ITypeInfo::Invoke */ return; /* Fallback to ITypeInfo::Invoke */
} }
...@@ -1197,8 +1196,13 @@ static HRESULT invoke_builtin_function(DispatchEx *This, func_info_t *func, DISP ...@@ -1197,8 +1196,13 @@ static HRESULT invoke_builtin_function(DispatchEx *This, func_info_t *func, DISP
case vt: \ case vt: \
V_BYREF(&ret_ref) = &access(&retv); \ V_BYREF(&ret_ref) = &access(&retv); \
break break
BUILTIN_TYPES_SWITCH; BUILTIN_ARG_TYPES_SWITCH;
#undef CASE_VT #undef CASE_VT
case VT_PTR:
V_VT(&retv) = VT_DISPATCH;
V_VT(&ret_ref) = VT_BYREF | VT_DISPATCH;
V_BYREF(&ret_ref) = &V_DISPATCH(&retv);
break;
default: default:
assert(0); assert(0);
} }
......
...@@ -374,6 +374,8 @@ function test_style_properties() { ...@@ -374,6 +374,8 @@ function test_style_properties() {
elem.style.zIndex = 4; elem.style.zIndex = 4;
ok(computed_style.zIndex === 4, "computed_style.zIndex = " + computed_style.zIndex); ok(computed_style.zIndex === 4, "computed_style.zIndex = " + computed_style.zIndex);
window.getComputedStyle(elem, null);
next_test(); next_test();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment