http://bugs.winehq.org/show_bug.cgi?id=24387 --- Comment #51 from Wolfgang Hartl <wolfo.dev@wolke7.net> --- The MS-Money lib mnyolinv (inv7.ocx) calls CreateProperties(). In the SLTG typelib of inv7.ocx it is coded that CreateProperties() wants to have vararg, but cParamsOpt in STLG is coded as 6 bit field, and inv7.ocx gives "111111" = 63 as cParamsOpt. Wine wrongly prepares the optional Parameter (VT_ERROR in VT_VARIANT instead of an empty SafeArray) with assuming - all parameters are "optional" inv7 crashes immediately when accessing the wrong delivered parameter and the CreateProperties() gets never executed. VARARG in MSFT is defined with cParamsOpt = -1, that means that the delivered cParamsOpt=63 from SLTG needs to be interpreted as sentinel value for -1. When that is done, the call for CreateProperties() works as requested, a VT_VARIANT|VT_ARRAY|VT_BYREF - a pointer to a SafeArray of VARIANTs is given to the function and the crash does not happen anymore. I'll prepare a patch. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.