Keyboard cues are disabled by default on newer versions of Windows. Some win32 common controls, e.g., button doesn't draw a focus rect when SystemParametersInfoW(SPI_GETKEYBOARDCUES) reports FALSE.
Drawing a focus rect when the button is really small creates an effect that makes the button look corrupted. On Windows, the focus rect is not drawn when keyboard cues are disabled, which is the default.
Other controls also have this behavior, so they're included as well. There are some exceptions, for example, SysMonthCal32 always draws a focus rect, even when keyboard cues are disabled.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8763
Follow-up of !2786, which appears to have been abandoned.
Depends on !8182, !8575, !8578
# Execute minimal test case
1. checkout wine into ~/src/wine
2. in dlls/ws2_32/tests/sock.c wrap all calls to test functions after `Init()` until `test_afunix()` with #if 0 ... #endif
3. build into ~/src/wine-build
4. run `(cd ~/src/wine-build; WINEPREFIX=~/src/wine/.wine ../wine/tools/runtest -q -P wine -T . -M ws2_32.dll -p dlls/ws2_32/tests/i386-windows/ws2_32_test.exe sock)`
# How to debug wineserver
Since `wineserver` runs in the background, simple calls to printf() will show nothing when the test case is executed. A workaround is to open a file and call fprintf() to write debug messages to this file, which can then be inspected.
--
v40: ws2_32: Add note in bind() for AF_UNIX sockets
ws2_32/tests: In tests for AF_UNIX sockets print actual directory used
ws2_32/tests: In AF_UNIX socket tests always print used path in case of errors
ws2_32/tests: Add test for AF_UNIX sockets
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
ws2_32: Add support for AF_UNIX sockets.
server: Allow for deletion of socket files.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7650