With this series it's now possible to run and pass `user32:monitor` and `user32:sysparams` tests with nulldrv, and so most `user32` tests (except for a few desktop cursor position tests). This still requires some prefix configuration to enable the nulldrv driver, or a change like https://gitlab.winehq.org/rbernon/wine/-/commit/753368ad0ec52f03f8d6e78ca79… to enable it when `DISPLAY` environment variable is unset.
This then shows that some of the user32 tests are failing with winex11 but passing with nulldrv, as in https://gitlab.winehq.org/rbernon/wine/-/commit/6d5f4109a514a0dc266899fcacf….
--
v13: win32u: Read mode from the registry if GetCurrentDisplaySettings fails.
win32u: Write display settings to the registry in apply_display_settings.
win32u: Lock display devices while applying display settings.
https://gitlab.winehq.org/wine/wine/-/merge_requests/551
Support _NET_WM_FULLSCREEN_MONITORS for fullscreen windows spanning multiple monitors. This property
is used to hint window managers about which monitor a fullscreen window should cover. Window managers
make a fullscreen window spanning multiple monitors cover only one monitor when this property is missing.
Fix Project Cars 2/3 incorrect game window size when the triple-screen mode is on.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1233
The `_STRUCT_X86_THREAD_FULL_STATE64` definition comes from `/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/mach/i386/_structs.h` . It does not contain `_STRUCT_MCONTEXT64_FULL` or `_STRUCT_MCONTEXT_AVX64_FULL`.
There is a usr/include/i386/_mcontext.h file in 10.14.sdk, but it doesn't contain any of these definitions, unlike its cousins in later SDK versions.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1219#note_12915
bshanks was wondering about some details. While the fix seems sensible, it shouldn't be necessary according to him.
I had a closer look, and indeed Xcode 11.3.1 is not the problem. The command line tools for Xcode 11.3.1 are. Having them installed, even without pointing xcode-select, DEVELOPER_DIR or SDKROOT to them does some magic, for good (32 bit programs compile) and bad (the bug fixed here).
Some possibly relevant info:
```
grey:ntdll stefan$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
grey:ntdll stefan$ sudo xcode-select -p
/Applications/Xcode.app/Contents/Developer
grey:ntdll stefan$ echo $DEVELOPER_DIR
grey:ntdll stefan$ echo $SDKROOT
```
(Homebrew choked on a difference between xcode-select -p and sudo xcode-select -p once. I have no idea how that can happen, since xcode-select -s is system wide. Oh well)
wine configure command line:
`~/src/wine/configure --enable-win64 --without-x LDFLAGS="-L/Users/stefan/src/MoltenVK/Package/Latest/MoltenVK/dylib/macOS"`
And the exact build failure:
```
gcc -m64 -c -o dlls/ntdll/unix/signal_x86_64.o /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c -Idlls/ntdll \
-I/Users/stefan/src/wine/dlls/ntdll -Iinclude -I/Users/stefan/src/wine/include -D__WINESRC__ \
-DWINE_NO_LONG_TYPES -D_NTSYSTEM_ -D_ACRTIMP= -DWINBASEAPI= -D_MSVCR_VER=0 -DWINE_UNIX_LIB -Wall \
-pipe -fcf-protection=none -fno-stack-protector -fno-strict-aliasing -Wdeclaration-after-statement \
-Wempty-body -Wignored-qualifiers -Winit-self -Wno-pragma-pack -Wstrict-prototypes -Wtype-limits \
-Wvla -Wwrite-strings -Wpointer-arith -gdwarf-4 -fPIC -fasynchronous-unwind-tables -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
In file included from /Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:83:
/Users/stefan/src/wine/dlls/ntdll/unix/dwarf.h:913:45: warning: taking the absolute value of unsigned type 'ULONG_PTR'
(aka 'unsigned long') has no effect [-Wabsolute-value]
case DW_OP_abs: stack[sp] = labs(stack[sp]); break;
^
/Users/stefan/src/wine/dlls/ntdll/unix/dwarf.h:913:45: note: remove the call to 'labs' since unsigned values cannot be negative
case DW_OP_abs: stack[sp] = labs(stack[sp]); break;
^~~~
/Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:282:38: error: use of undeclared identifier '_STRUCT_MCONTEXT64_FULL'
if (context->uc_mcsize == sizeof(_STRUCT_MCONTEXT64_FULL) ||
^
/Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:283:38: error: use of undeclared identifier '_STRUCT_MCONTEXT_AVX64_FULL'
context->uc_mcsize == sizeof(_STRUCT_MCONTEXT_AVX64_FULL) ||
^
/Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:286:63: error: expected expression
return (XMM_SAVE_AREA32 *)&((_STRUCT_MCONTEXT64_FULL *)context->uc_mcontext)->__fs.__fpu_fcw;
^
/Users/stefan/src/wine/dlls/ntdll/unix/signal_x86_64.c:286:38: error: use of undeclared identifier '_STRUCT_MCONTEXT64_FULL'
return (XMM_SAVE_AREA32 *)&((_STRUCT_MCONTEXT64_FULL *)context->uc_mcontext)->__fs.__fpu_fcw;
```
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1219#note_12913