Merge pull request #72622 from Sauermann/fix-fullscreen-window-init-size

Fix windowsize for fullscreen windows on windowcreation on Windows
This commit is contained in:
Rémi Verschelde 2023-02-03 06:23:01 +01:00
commit 5fb94e01ca
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -3959,10 +3959,19 @@ DisplayServer::WindowID DisplayServerWindows::_create_window(WindowMode p_mode,
wd.im_position = Vector2();
// FIXME this is wrong in cases where the window coordinates were changed due to full screen mode; use WindowRect
wd.last_pos = p_rect.position;
wd.width = p_rect.size.width;
wd.height = p_rect.size.height;
if (p_mode == WINDOW_MODE_FULLSCREEN || p_mode == WINDOW_MODE_EXCLUSIVE_FULLSCREEN || p_mode == WINDOW_MODE_MAXIMIZED) {
RECT r;
GetClientRect(wd.hWnd, &r);
ClientToScreen(wd.hWnd, (POINT *)&r.left);
ClientToScreen(wd.hWnd, (POINT *)&r.right);
wd.last_pos = Point2i(r.left, r.top) - _get_screens_origin();
wd.width = r.right - r.left;
wd.height = r.bottom - r.top;
} else {
wd.last_pos = p_rect.position;
wd.width = p_rect.size.width;
wd.height = p_rect.size.height;
}
window_id_counter++;
}