http://bugs.winehq.org/show_bug.cgi?id=22147
Summary: oleaut32 updates break various VB6 applications Product: Wine Version: 1.1.38 Platform: All OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: oleaut32 AssignedTo: wine-bugs@winehq.org ReportedBy: mpot@martybugs.net CC: huw@codeweavers.com
Created an attachment (id=27007) --> (http://bugs.winehq.org/attachment.cgi?id=27007) regression testing indicating the first bad commit
Wine 1.1.38 and later cause VB6 applications to crash and behave unexpectedly in various circumstances.
iiUsage (free download from http://martybugs.net/iiUsage/) works fine on Wine 1.1.36 and earlier, but crashes when attempting to display the main form on Wine 1.1.38 and later.
Regression testing indicates the first bad commit is oleaut32: Realize the font in getter functions. cf602ca4228f954d7de3b8100cea8fad680ed7f2
To reproduce: -follow steps on http://martybugs.net/iiUsage/wine.cgi to install iiUsage -when iiUsage is first run, it'll crash when it attempts to load the main form
As another example, attempting to set the .TabVisible(n) = false for a tabbed dialog control (tabctl32.ocx) in a VB6 application works fine in Wine 1.1.36 and earlier, but in Wine 1.1.38 and later, it results in the following runtime error: [451] Property let procedure not defined and property get procedure did not return an object Similarly, attempting to set the column width of an msflxgrd.ocx column to 0 results in the same runtime error.
The workaround is to copy oleaut32.dll from a WinXP box into .wine/drive_c/windows/system32/, register it, and then use winecfg to use the native oleaut32 library instead of the built-in library.