https://bugs.winehq.org/show_bug.cgi?id=51456
Bug ID: 51456 Summary: oleaut32:typelib: test_CreateTypeLib(SYS_WIN32) fails in 64-bit Wine Product: Wine Version: 6.10 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: oleaut32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
oleaut32:typelib has many failures in 64-bit Wine, the first one of which is because Wine returns the wrong size for a structure:
https://test.winehq.org/data/patterns.html#oleaut32:typelib
typelib.c:2169: Test failed: retrieved IUnknown gave wrong cbSizeVft: 24
In the SYS_WIN32 case cbSizeVft should be 3 * 4 = 12 but it is still set to 24 by MSFT_DoTypeInfo():
ptiRet->typeattr.cbSizeVft = tiBase.cbSizeVft;
It makes sense for cbSizeVft to be 24 on the 64-bit side, but somewhere there should be code to adjust it to account for the SYS_WIN32 on 64-bit case. But I don't know where that should happen.