Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
return NULL; }
- if (!is_detached_mode( devmode ) && (!devmode->dmPelsWidth || !devmode->dmPelsHeight)) + if (!is_detached_mode( devmode ) && (!devmode->dmPelsWidth || !devmode->dmPelsHeight || !(devmode->dmFields & DM_POSITION))) { DEVMODEW current_mode = {.dmSize = sizeof(DEVMODEW)}; if (!user_driver->pGetCurrentDisplaySettings( device_name, ¤t_mode )) return NULL; if (!devmode->dmPelsWidth) devmode->dmPelsWidth = current_mode.dmPelsWidth; if (!devmode->dmPelsHeight) devmode->dmPelsHeight = current_mode.dmPelsHeight; + if (!(devmode->dmFields & DM_POSITION)) devmode->dmPosition = current_mode.dmPosition; + devmode->dmFields |= DM_POSITION;
This line should be inside of the if branch. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/576#note_5895