https://bugs.winehq.org/show_bug.cgi?id=58026
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- The call chain that's problematic is:
interp_vcall -> variant_call(v) with byref result returned to 'v' -> VariantClear(v).
The issue here is that there is no storage to keep a referenced variant in. Maybe stack should be made smarter to hold two variants per push conditionally, but this is not going to work with ret_val right away I guess.
This is causing array access (0) to return VT_EMPTY, because it's cleared. Then comparison VT_EMPTY <> VT_BSTR "" happen.