Commit 3ea5a319 authored by Gabriel Ivăncescu's avatar Gabriel Ivăncescu Committed by Alexandre Julliard

mshtml: Do not enumerate hidden builtin props.

parent f8bb1d7e
...@@ -396,6 +396,9 @@ static void add_func_info(dispex_data_t *data, tid_t tid, const FUNCDESC *desc, ...@@ -396,6 +396,9 @@ static void add_func_info(dispex_data_t *data, tid_t tid, const FUNCDESC *desc,
}else if(desc->invkind & (DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYGET)) { }else if(desc->invkind & (DISPATCH_PROPERTYPUT|DISPATCH_PROPERTYGET)) {
VARTYPE vt = VT_EMPTY; VARTYPE vt = VT_EMPTY;
if(desc->wFuncFlags & FUNCFLAG_FHIDDEN)
info->func_disp_idx = -2;
if(desc->invkind & DISPATCH_PROPERTYGET) { if(desc->invkind & DISPATCH_PROPERTYGET) {
vt = desc->elemdescFunc.tdesc.vt; vt = desc->elemdescFunc.tdesc.vt;
info->get_vtbl_off = desc->oVft/sizeof(void*); info->get_vtbl_off = desc->oVft/sizeof(void*);
...@@ -1371,7 +1374,7 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD ...@@ -1371,7 +1374,7 @@ static HRESULT invoke_builtin_prop(DispatchEx *This, DISPID id, LCID lcid, WORD
if(FAILED(hres)) if(FAILED(hres))
return hres; return hres;
if(func->func_disp_idx != -1) if(func->func_disp_idx >= 0)
return function_invoke(This, func, flags, dp, res, ei, caller); return function_invoke(This, func, flags, dp, res, ei, caller);
if(func->hook) { if(func->hook) {
...@@ -1460,7 +1463,7 @@ HRESULT remove_attribute(DispatchEx *This, DISPID id, VARIANT_BOOL *success) ...@@ -1460,7 +1463,7 @@ HRESULT remove_attribute(DispatchEx *This, DISPID id, VARIANT_BOOL *success)
return hres; return hres;
/* For builtin functions, we set their value to the original function. */ /* For builtin functions, we set their value to the original function. */
if(func->func_disp_idx != -1) { if(func->func_disp_idx >= 0) {
func_obj_entry_t *entry; func_obj_entry_t *entry;
if(!This->dynamic_data || !This->dynamic_data->func_disps if(!This->dynamic_data || !This->dynamic_data->func_disps
...@@ -1889,7 +1892,6 @@ static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, ...@@ -1889,7 +1892,6 @@ static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex,
} }
while(func < This->info->funcs + This->info->func_cnt) { while(func < This->info->funcs + This->info->func_cnt) {
/* FIXME: Skip hidden properties */
if(func->func_disp_idx == -1) { if(func->func_disp_idx == -1) {
*pid = func->id; *pid = func->id;
return S_OK; return S_OK;
......
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