https://bugs.winehq.org/show_bug.cgi?id=53244
Bug ID: 53244 Summary: user32:sysparams does not expect SPI_SETHANDEDNESS on Windows 10 2004+ Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
user32:sysparams does not expect SPI_SETHANDEDNESS on Windows 10 2004+. Furthermore that message arrives at slightly different times in the tests leading to different failure messages:
sysparams.c:1202: testing SPI_{GET,SET}DOUBLECLKWIDTH sysparams.c:241: Test failed: too many changes counter=1 last change=29 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 8229 expected 29 sysparams.c:1236: testing SPI_{GET,SET}DOUBLECLKHEIGHT sysparams.c:1271: testing SPI_{GET,SET}DOUBLECLICKTIME sysparams.c:1326: testing SPI_{GET,SET}MOUSEBUTTONSWAP sysparams.c:241: Test failed: too many changes counter=1 last change=33 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:347: Test failed: Wrong value in registry: Control Panel\Mouse SwapMouseButtons '1' instead of '0' sysparams.c:1341: Test failed: SM_SWAPBUTTON: got 1 instead of 0 sysparams.c:1345: Test failed: SwapMouseButton does not return previous state (really 1) sysparams.c:1358: testing SPI_GETFASTTASKSWITCH sysparams.c:1376: testing SPI_{GET,SET}DRAGFULLWINDOWS sysparams.c:241: Test failed: too many changes counter=1 last change=37 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 33 expected 37
or
sysparams.c:1236: testing SPI_{GET,SET}DOUBLECLKHEIGHT sysparams.c:241: Test failed: too many changes counter=1 last change=30 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 8229 expected 30 sysparams.c:1271: testing SPI_{GET,SET}DOUBLECLICKTIME sysparams.c:241: Test failed: too many changes counter=1 last change=32 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 8229 expected 32 sysparams.c:1326: testing SPI_{GET,SET}MOUSEBUTTONSWAP sysparams.c:241: Test failed: too many changes counter=1 last change=33 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:347: Test failed: Wrong value in registry: Control Panel\Mouse SwapMouseButtons '1' instead of '0' sysparams.c:1341: Test failed: SM_SWAPBUTTON: got 1 instead of 0 sysparams.c:1345: Test failed: SwapMouseButton does not return previous state (really 1) sysparams.c:1358: testing SPI_GETFASTTASKSWITCH sysparams.c:1376: testing SPI_{GET,SET}DRAGFULLWINDOWS sysparams.c:241: Test failed: too many changes counter=1 last change=37 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 33 expected 37
or
sysparams.c:1236: testing SPI_{GET,SET}DOUBLECLKHEIGHT sysparams.c:241: Test failed: too many changes counter=1 last change=8229 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:1271: testing SPI_{GET,SET}DOUBLECLICKTIME sysparams.c:241: Test failed: too many changes counter=1 last change=32 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 8229 expected 32 sysparams.c:1326: testing SPI_{GET,SET}MOUSEBUTTONSWAP sysparams.c:241: Test failed: too many changes counter=1 last change=33 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:347: Test failed: Wrong value in registry: Control Panel\Mouse SwapMouseButtons '1' instead of '0' sysparams.c:1341: Test failed: SM_SWAPBUTTON: got 1 instead of 0 sysparams.c:1345: Test failed: SwapMouseButton does not return previous state (really 1) sysparams.c:1358: testing SPI_GETFASTTASKSWITCH sysparams.c:1376: testing SPI_{GET,SET}DRAGFULLWINDOWS sysparams.c:241: Test failed: too many changes counter=1 last change=37 sysparams.c:279: Test failed: Missed a message: change_counter=2 sysparams.c:282: Test failed: Wrong action got 33 expected 37
https://test.winehq.org/data/patterns.html#user32:sysparams
Where: * 30 == SPI_SETDOUBLECLKHEIGHT * 32 == SPI_SETDOUBLECLICKTIME * 33 == SPI_SETMOUSEBUTTONSWAP * 37 == SPI_SETDRAGFULLWINDOWS * 8229 == SPI_SETHANDEDNESS
Some of these variants are less common than others due to timing so when they happen they are likely to cause false positives.
Clearly SPI_SETHANDEDNESS is a new setting that was introduced in Windows 10 2004 and which the test should take into account.
Maybe it should receive special treatment like SPI_SETWORKAREA & co? (Though we don't currently test SPI_SETHANDEDNESS)