From: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Previously, the first prototype was simply skipped, since prototype_id would point to the *second* prototype (first one is implicitly assumed to be the object's dispex). Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> --- dlls/mshtml/dispex.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c index 77eec049912..7e85d41b4fd 100644 --- a/dlls/mshtml/dispex.c +++ b/dlls/mshtml/dispex.c @@ -1375,6 +1375,11 @@ HRESULT dispex_get_chain_builtin_id(DispatchEx *dispex, const WCHAR *name, DWORD assert(compat_mode >= COMPAT_MODE_IE9); + hres = get_builtin_id(info, name, flags, pid); + if(hres != DISP_E_UNKNOWNNAME) + return hres; + info = info->desc->prototype_info[compat_mode - COMPAT_MODE_IE9]; + for(;;) { hres = get_builtin_id(info, name, flags, pid); if(hres != DISP_E_UNKNOWNNAME) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7779