diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-09 23:08:52 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-09 23:08:52 +0100 |
commit | dce8cdbca861605b1be8621db5be82dca6174811 (patch) | |
tree | 270e8e92b3b32dee0568bde3ff28c6853c45c1d5 | |
parent | be4e9dfeab0cef7efb78d4ce891caed050a42b3b (diff) | |
parent | 06551dfa3a3683d3442389f2cc7cdbe3c57034b2 (diff) |
Merge pull request #70863 from bruvzg/win_init_min
Set main window min. size via Window object instead of DisplayServer to preserve it during window updates.
-rw-r--r-- | editor/editor_node.cpp | 5 | ||||
-rw-r--r-- | editor/project_manager.cpp | 5 | ||||
-rw-r--r-- | main/main.cpp | 4 | ||||
-rw-r--r-- | scene/main/scene_tree.cpp | 1 |
4 files changed, 9 insertions, 6 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 03ece6c29b..ab79031ad2 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -6093,7 +6093,10 @@ EditorNode::EditorNode() { } // Define a minimum window size to prevent UI elements from overlapping or being cut off. - DisplayServer::get_singleton()->window_set_min_size(Size2(1024, 600) * EDSCALE); + Window *w = Object::cast_to<Window>(SceneTree::get_singleton()->get_root()); + if (w) { + w->set_min_size(Size2(1024, 600) * EDSCALE); + } FileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files")); EditorFileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files")); diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index dc755cab41..b4ffc7d78d 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -3008,7 +3008,10 @@ ProjectManager::ProjectManager() { SceneTree::get_singleton()->get_root()->connect("files_dropped", callable_mp(this, &ProjectManager::_files_dropped)); // Define a minimum window size to prevent UI elements from overlapping or being cut off. - DisplayServer::get_singleton()->window_set_min_size(Size2(520, 350) * EDSCALE); + Window *w = Object::cast_to<Window>(SceneTree::get_singleton()->get_root()); + if (w) { + w->set_min_size(Size2(520, 350) * EDSCALE); + } // Resize the bootsplash window based on Editor display scale EDSCALE. float scale_factor = MAX(1, EDSCALE); diff --git a/main/main.cpp b/main/main.cpp index d21574b0e3..190cdf3151 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -2769,10 +2769,6 @@ bool Main::start() { DisplayServer::get_singleton()->window_set_title(appname); #endif - // Define a very small minimum window size to prevent bugs such as GH-37242. - // It can still be overridden by the user in a script. - DisplayServer::get_singleton()->window_set_min_size(Size2i(64, 64)); - bool snap_controls = GLOBAL_GET("gui/common/snap_controls_to_pixels"); sml->get_root()->set_snap_controls_to_pixels(snap_controls); diff --git a/scene/main/scene_tree.cpp b/scene/main/scene_tree.cpp index 73d85a0660..c6bfe5742f 100644 --- a/scene/main/scene_tree.cpp +++ b/scene/main/scene_tree.cpp @@ -1396,6 +1396,7 @@ SceneTree::SceneTree() { // Create with mainloop. root = memnew(Window); + root->set_min_size(Size2i(64, 64)); // Define a very small minimum window size to prevent bugs such as GH-37242. root->set_process_mode(Node::PROCESS_MODE_PAUSABLE); root->set_name("root"); root->set_title(GLOBAL_GET("application/config/name")); |