From 151645a1b6f6c9851a1449d5eb944712fc0729ee Mon Sep 17 00:00:00 2001 From: Hilderin <81109165+Hilderin@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:31:23 -0400 Subject: [PATCH] Fix editor layout reset on startup --- editor/editor_node.cpp | 34 +++++++++++++++++----------------- editor/editor_node.h | 1 + 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f154cbd1e2a..6de9bfc4aa1 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -5240,8 +5240,8 @@ void EditorNode::_copy_warning(const String &p_str) { } void EditorNode::_save_editor_layout() { - if (waiting_for_first_scan) { - return; // Scanning, do not touch docks. + if (!load_editor_layout_done) { + return; } Ref config; config.instantiate(); @@ -5297,22 +5297,22 @@ void EditorNode::_load_editor_layout() { if (overridden_default_layout >= 0) { _layout_menu_option(overridden_default_layout); } - return; + } else { + ep.step(TTR("Loading docks..."), 1, true); + editor_dock_manager->load_docks_from_config(config, "docks"); + + ep.step(TTR("Reopening scenes..."), 2, true); + _load_open_scenes_from_config(config); + + ep.step(TTR("Loading central editor layout..."), 3, true); + _load_central_editor_layout_from_config(config); + + ep.step(TTR("Loading plugin window layout..."), 4, true); + editor_data.set_plugin_window_layout(config); + + ep.step(TTR("Editor layout ready."), 5, true); } - - ep.step(TTR("Loading docks..."), 1, true); - editor_dock_manager->load_docks_from_config(config, "docks"); - - ep.step(TTR("Reopening scenes..."), 2, true); - _load_open_scenes_from_config(config); - - ep.step(TTR("Loading central editor layout..."), 3, true); - _load_central_editor_layout_from_config(config); - - ep.step(TTR("Loading plugin window layout..."), 4, true); - editor_data.set_plugin_window_layout(config); - - ep.step(TTR("Editor layout ready."), 5, true); + load_editor_layout_done = true; } void EditorNode::_save_central_editor_layout_to_config(Ref p_config_file) { diff --git a/editor/editor_node.h b/editor/editor_node.h index e24bae73f0b..ffffe87d511 100644 --- a/editor/editor_node.h +++ b/editor/editor_node.h @@ -462,6 +462,7 @@ private: bool requested_first_scan = false; bool waiting_for_first_scan = true; + bool load_editor_layout_done = false; int current_menu_option = 0;