17 Oct
2025
17 Oct
'25
10:49 a.m.
Nikolay Sivov (@nsivov) commented about dlls/oleaut32/variant.c:
hres = VariantChangeType(&varRight, &varRight, VARIANT_LOCALBOOL, VT_BOOL); if (SUCCEEDED(hres) && V_VT(&varRight) != resvt) + { + if (V_VT(&varRight) == VT_BSTR) + { + if (d >= I4_MIN && d <= I4_MAX) resvt = VT_I4; + } hres = VariantChangeType(&varRight, &varRight, 0, resvt); + } if (FAILED(hres)) goto VarAnd_Exit;
I don't think this is in the right direction. Also submitted some additional tests in !9201, that show existing issues. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8635#note_118880