http://bugs.winehq.org/show_bug.cgi?id=4370
------- Additional Comments From cdunn42@yahoo.com 2006-17-03 09:23 ------- I wonder if the correct solution might be using a bitwise and as a mask instead of equality checking - if the value being tested is VT_VARIANT|VT_BYREF than it wouldn't ever be equal to VT_VARIANT.
The following fixed the error for my case :
if (rgvt[i] & VT_VARIANT) VariantCopy(&rgvarg[i], src_arg); else if ((rgvt[i] & VT_BYREF) && !V_ISBYREF(src_arg)) ...