Sven Baars (@sbaars) commented about dlls/user32/tests/sysparams.c:
+ /* setting default mode most of the time doesn't send WM_DISPLAYCHANGE, + * it only does the first time ChangeDisplaySettingsExW is called */
last_bpp = -1; change_counter = 0; displaychange_ok = TRUE; res = ChangeDisplaySettingsExW( NULL, &settings, NULL, 0, NULL ); ok( !res, "ChangeDisplaySettingsExW returned %ld\n", res ); - res = WaitForSingleObject( displaychange_sem, 10000 ); - ok( !res, "WaitForSingleObject returned %#lx\n", res ); - ok( last_bpp == default_bpp, "got WM_DISPLAYCHANGE bpp %u\n", last_bpp ); + res = WaitForSingleObject( displaychange_sem, 1000 ); + todo_wine + ok( res == WAIT_TIMEOUT || broken( !res ), "WaitForSingleObject returned %#lx\n", res ); + todo_wine + ok( last_bpp == -1 || broken( last_bpp == default_bpp ), "got WM_DISPLAYCHANGE bpp %u\n", last_bpp ); While you're at it, maybe it's a good idea to change all the `%u` in the test to `%d` since `last_bpp` is signed?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1829#note_19750