mshtml: Added support for calling functions returned by builtin getters.

This commit is contained in:
Jacek Caban 2012-07-13 14:46:41 +02:00 committed by Alexandre Julliard
parent 01af42a427
commit 61ded412a2
1 changed files with 20 additions and 2 deletions

View File

@ -849,7 +849,7 @@ static HRESULT builtin_propget(DispatchEx *This, func_info_t *func, DISPPARAMS *
IUnknown *iface;
HRESULT hres;
if(dp->cArgs) {
if(dp && dp->cArgs) {
FIXME("cArgs %d\n", dp->cArgs);
return E_NOTIMPL;
}
@ -961,7 +961,25 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD
hres = builtin_propget(This, func, dp, res);
break;
default:
hres = typeinfo_invoke(This, func, flags, dp, res, ei);
if(!func->get_vtbl_off) {
hres = typeinfo_invoke(This, func, flags, dp, res, ei);
}else {
VARIANT v;
hres = builtin_propget(This, func, NULL, &v);
if(FAILED(hres))
return hres;
if(V_VT(&v) != VT_DISPATCH) {
FIXME("Not a function %s\n", debugstr_variant(&v));
VariantClear(&v);
return E_FAIL;
}
hres = invoke_disp_value(This, V_DISPATCH(&v), lcid, flags, dp, res, ei, caller);
IDispatch_Release(V_DISPATCH(&v));
}
}
return hres;