Rémi Bernon (@rbernon) commented about dlls/win32u/message.c:
{ case SC_RESTORE: + { + WND *win; + if (HIWORD(state_cmd)) NtUserSetActiveWindow( hwnd ); - NtUserSetInternalWindowPos( hwnd, SW_SHOW, &window_rect, NULL ); + + /* make the win32 window restore to the current host window config */ + win = get_win_ptr( hwnd ); + if (win && win != WND_OTHER_PROCESS && win != WND_DESKTOP) + { + make_rect_onscreen( &window_rect ); + win->normal_rect = rect_thread_to_win_dpi( hwnd, window_rect ); + release_win_ptr( win ); + }
What about doing that in a helper next to `set_window_placement`, something like `set_window_normal_rect`, to keep related things together instead of open coding it? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10725#note_137950