Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
.state_flags = DISPLAY_DEVICE_ACTIVE | DISPLAY_DEVICE_ATTACHED, - .rc_monitor = {.right = modes[2].dmPelsWidth, .bottom = modes[2].dmPelsHeight}, - .rc_work = {.right = modes[2].dmPelsWidth, .bottom = modes[2].dmPelsHeight}, }; + DEVMODEW mode = {{0}}; UINT i;
add_gpu( &gpu, &ctx ); add_adapter( &adapter, &ctx ); + + if (!read_adapter_mode( ctx.adapter_key, ENUM_CURRENT_SETTINGS, &mode )) + { + mode = modes[2]; + mode.dmFields |= DM_POSITION; + } + write_adapter_mode( ctx.adapter_key, ENUM_CURRENT_SETTINGS, &mode );
Shouldn't this write_adapter_mode() call be inside the if branch? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/551#note_9270