Jacek Caban (@jacek) commented about dlls/mshtml/dispex.c:
HRESULT hres;
- TRACE("%s (%p)->(%lx %x %lx %p %p %p %p)\n", This->info->name, This, id, iid, flags, dp, ret, ei, caller);
TRACE("%s (%p)->(%lx %d %lx %p %p %p %p)\n", This->info->name, This, id, iid, flags, dp, ret, ei, caller);
hres = get_builtin_func(This->info, id, &func);
- if(FAILED(hres) || func->tid != iid)
if(FAILED(hres)) return E_UNEXPECTED;
if(iid <= 0) {
if(func->tid != -iid)
return E_UNEXPECTED;
}else if(iid != func->prototype_id) {
return E_UNEXPECTED;
}
We still have builtin properties that are not in prototypes in builtin MSHTML constructors. AFAIR, we shouldn't expose most of them in IE9+ mode, but some of them should remain. This would probably break them, please add a test.