https://bugs.winehq.org/show_bug.cgi?id=55192
Bug ID: 55192 Summary: user32:sysparams - test_SPI_SETWALLPAPER() fails to restore the '(None)' wallpaper Product: Wine Version: unspecified Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
user32:sysparams - test_SPI_SETWALLPAPER() fails to restore the '(None)' wallpaper:
sysparams.c:2442: Test failed: ***warning*** failed to restore the original value: rc=0 err=2 sysparams.c:346: Test failed: Wrong value in registry: Control Panel\Desktop Wallpaper '' instead of '(None)'
See https://test.winehq.org/data/patterns.html#user32:sysparams
Where 2 == ERROR_FILE_NOT_FOUND
This is systematic and specific to the w7u VM. The way I understand it that VM does not have a wallpaper but instead of returning the like of an empty string, SPI_GETDESKWALLPAPER returns '(None)' (maybe this is even the registry value). Anyway when we try to restore the value, SPI_SETDESKWALLPAPER checks that the '(None)' file exists and fails.
To investigate: * Is '(None)' the actual registry value? * Do our other VMs really all have a wallpaper? Is that why none of them returns '(None)'? * If another Windows version has no wallpaper does SPI_GETDESKWALLPAPER return 'None' or is that specific to Windows 7? * To fix the test, check whether the oldvalue file exists and set the wallpaper to an empty string if not? Or bypass SPI_SETDESKWALLPAPER to set the registry directly in that case?