1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-13 13:31:48 +00:00

Avoid setting sub-window or started project window positions, if it's impossible to get screen rect.

This commit is contained in:
bruvzg
2022-02-21 10:17:28 +02:00
parent f4b0c7a1ea
commit defcd0c57e
4 changed files with 93 additions and 70 deletions

View File

@@ -2877,17 +2877,15 @@ ProjectManager::ProjectManager() {
Vector2i screen_size = DisplayServer::get_singleton()->screen_get_size();
Vector2i screen_position = DisplayServer::get_singleton()->screen_get_position();
// Consider the editor display scale.
window_size.x = round((float)window_size.x * scale_factor);
window_size.y = round((float)window_size.y * scale_factor);
// Make the window centered on the screen.
Vector2i window_position;
window_position.x = screen_position.x + (screen_size.x - window_size.x) / 2;
window_position.y = screen_position.y + (screen_size.y - window_size.y) / 2;
window_size *= scale_factor;
DisplayServer::get_singleton()->window_set_size(window_size);
DisplayServer::get_singleton()->window_set_position(window_position);
if (screen_size != Vector2i()) {
Vector2i window_position;
window_position.x = screen_position.x + (screen_size.x - window_size.x) / 2;
window_position.y = screen_position.y + (screen_size.y - window_size.y) / 2;
DisplayServer::get_singleton()->window_set_position(window_position);
}
}
OS::get_singleton()->set_low_processor_usage_mode(true);