Jacek Caban (@jacek) commented about dlls/jscript/dispex.c:
+ hres = IDispatch_GetIDsOfNames(disp, &IID_NULL, &str, 1, 0, &dispid); + SysFreeString(str); + + if(SUCCEEDED(hres) && dispid != DISPID_UNKNOWN) { + if(dispex) + hres = IDispatchEx_InvokeEx(dispex, dispid, ctx->lcid, DISPATCH_PROPERTYGET, NULL, + &var, &ei, &ctx->jscaller->IServiceProvider_iface); + else + hres = IDispatch_Invoke(disp, dispid, &IID_NULL, ctx->lcid, DISPATCH_PROPERTYGET, NULL, &var, &ei, &err); + if(SUCCEEDED(hres)) { + hres = variant_to_jsval(ctx, &var, r); + VariantClear(&var); + }else if(hres == DISP_E_EXCEPTION) { + handle_dispatch_exception(ctx, &ei); + } + } That's `disp_propget` too.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8781#note_113248