21 Jan
2026
21 Jan
'26
11:59 a.m.
Nikolay Sivov (@nsivov) commented about dlls/oleaut32/typelib.c:
} else if ((rgvt[i] & VT_BYREF) && !V_ISBYREF(src_arg)) { - if (wParamFlags & PARAMFLAG_FIN) + if ((wParamFlags & PARAMFLAG_FIN) || (wParamFlags == PARAMFLAG_NONE)) hres = VariantChangeType(&missing_arg[i], src_arg, 0, rgvt[i] & ~VT_BYREF);
Maybe it should be more like !(wParamFlags & (FIN|FOUT))? This needs some experimenting. Or maybe PARAMFLAG_FIN is reported by typelib API, in the absence of IN/OUT/RETVAL. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9639#note_127637