https://bugs.winehq.org/show_bug.cgi?id=51285
Bug ID: 51285 Summary: The bmpcoreimage test in user32:cursoricon fails on most Windows versions Product: Wine Version: 6.10 Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
The bmpcoreimage test in user32:cursoricon fails on most Windows versions. The failure is either:
cursoricon.c:1217: Test failed: BMP (coreinfo): IMAGE_BITMAP failed. or cursoricon.c:1162: Test failed: BMP (coreinfo): Pixel is 0x00000000
https://test.winehq.org/data/patterns.html#user32:cursoricon
A given Windows version can have different results. The result seems to depend on the user32.dll version, as if Microsoft issued a security fix that changed the handling of this bitmap and progressively converged on the "Pixel is 0" result. Here's the detailed result per platform and user32 version:
vista 6.0.6002.18005 ok vistau64 6.0.6002.18005 ok
w2008 6.0.6002.19714 ok
w7pro64 6.1.7601.23594 ok w7u 6.1.7601.24546 Pixel is 0x00000000
w8 6.3.9600.17031 ok w864 6.3.9600.17031 ok w8.gtx 6.3.9600.17415 ok w8.rx 6.3.9600.19920 Pixel is 0x00000000
w1507 10.0.10240.16384 ok w1507.gtx 10.0.10240.16384 ok w1507.rx 10.0.10240.16384 ok
w1607 10.0.14393.0 ok
w1709.rx 10.0.16299.15 ok w1709 10.0.16299.125 ok w1709.gtx 10.0.16299.125 ok
w1809.gtx 10.0.17763.168 ok w1809.rx 10.0.17763.168 ok w1809 10.0.17763.1339 IMAGE_BITMAP failed
w1909.gtx 10.0.18362.719 IMAGE_BITMAP failed w1909.rx 10.0.18362.719 IMAGE_BITMAP failed w1909 10.0.18362.1110 Pixel is 0x00000000
w2004 10.0.19041.388 IMAGE_BITMAP failed
w2009.fg 10.0.19041.610 Pixel is 0x00000000 w2009 10.0.19041.685 Pixel is 0x00000000 w2009.gtx 10.0.19041.906 Pixel is 0x00000000 w2009.rx 10.0.19041.906 Pixel is 0x00000000
Note that w1507, w1607 and w1709 may be missing updates (but installing them without upgrading to the next Windows version would be hard), which may be why they don't fail.
So either this test should be removed, or it should be changed to expect 'pixel == 0' and allow for broken results (which does not fit with the way test_LoadImageFile() is currently implemented).
We may also want to update Wine's BITMAP_Load() implementation to match the current Windows behavior.
For reference this test bitmap was introduced in the commit below:
commit 0dfedd50c38356c8049aef48e69b630204de0f79 Author: Wolfram Sang wolfram@the-dreams.de AuthorDate: Sat Jun 5 05:57:19 2010 +0200
user32: No sanity checks for BITMAPCOREINFO in BITMAP_Load.