diff --git a/main/main.cpp b/main/main.cpp index 8ce2ea086cc..632b3c98602 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -248,8 +248,10 @@ static int64_t init_embed_parent_window_id = 0; #ifdef TOOLS_ENABLED static bool init_display_scale_found = false; static int init_display_scale = 0; +static bool init_custom_scale_found = false; static float init_custom_scale = 1.0; static bool init_expand_to_title = false; +static bool init_expand_to_title_found = false; #endif static bool use_custom_res = true; static bool force_res = false; @@ -2960,7 +2962,7 @@ Error Main::setup2(bool p_show_boot_logo) { prefer_wayland_found = true; } - while (!screen_found || !prefer_wayland_found || !tablet_found || !ac_found) { + while (!screen_found || !init_expand_to_title_found || !init_display_scale_found || !init_custom_scale_found || !prefer_wayland_found || !tablet_found || !ac_found) { assign = Variant(); next_tag.fields.clear(); next_tag.name = String(); @@ -2979,22 +2981,22 @@ Error Main::setup2(bool p_show_boot_logo) { restore_editor_window_layout = value.operator int() == EditorSettings::InitialScreen::INITIAL_SCREEN_AUTO; } } - if (assign == "interface/accessibility/accessibility_support") { + if (!ac_found && assign == "interface/accessibility/accessibility_support") { accessibility_mode_editor = value; ac_found = true; - } else if (assign == "interface/editor/expand_to_title") { + } else if (!init_expand_to_title_found && assign == "interface/editor/expand_to_title") { init_expand_to_title = value; - } else if (assign == "interface/editor/display_scale") { + init_expand_to_title_found = true; + } else if (!init_display_scale_found && assign == "interface/editor/display_scale") { init_display_scale = value; init_display_scale_found = true; - } else if (assign == "interface/editor/custom_display_scale") { + } else if (!init_custom_scale_found && assign == "interface/editor/custom_display_scale") { init_custom_scale = value; + init_custom_scale_found = true; } else if (!prefer_wayland_found && assign == "run/platforms/linuxbsd/prefer_wayland") { prefer_wayland = value; prefer_wayland_found = true; - } - - if (!tablet_found && assign == "interface/editor/tablet_driver") { + } else if (!tablet_found && assign == "interface/editor/tablet_driver") { tablet_driver_editor = value; tablet_found = true; } @@ -3224,7 +3226,7 @@ Error Main::setup2(bool p_show_boot_logo) { } #ifdef TOOLS_ENABLED - if (project_manager && init_display_scale_found) { + if (project_manager) { float ui_scale = init_custom_scale; switch (init_display_scale) { case 0: