1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-09 12:50:35 +00:00

Fix custom scale sometimes not applied to the project editor window size.

This commit is contained in:
Pāvels Nadtočajevs
2025-04-15 23:42:09 +03:00
parent 8de08c7c21
commit a6f526938d

View File

@@ -248,8 +248,10 @@ static int64_t init_embed_parent_window_id = 0;
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
static bool init_display_scale_found = false; static bool init_display_scale_found = false;
static int init_display_scale = 0; static int init_display_scale = 0;
static bool init_custom_scale_found = false;
static float init_custom_scale = 1.0; static float init_custom_scale = 1.0;
static bool init_expand_to_title = false; static bool init_expand_to_title = false;
static bool init_expand_to_title_found = false;
#endif #endif
static bool use_custom_res = true; static bool use_custom_res = true;
static bool force_res = false; static bool force_res = false;
@@ -2960,7 +2962,7 @@ Error Main::setup2(bool p_show_boot_logo) {
prefer_wayland_found = true; 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(); assign = Variant();
next_tag.fields.clear(); next_tag.fields.clear();
next_tag.name = String(); 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; 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; accessibility_mode_editor = value;
ac_found = true; 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; 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 = value;
init_display_scale_found = true; 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 = value;
init_custom_scale_found = true;
} else if (!prefer_wayland_found && assign == "run/platforms/linuxbsd/prefer_wayland") { } else if (!prefer_wayland_found && assign == "run/platforms/linuxbsd/prefer_wayland") {
prefer_wayland = value; prefer_wayland = value;
prefer_wayland_found = true; prefer_wayland_found = true;
} } else if (!tablet_found && assign == "interface/editor/tablet_driver") {
if (!tablet_found && assign == "interface/editor/tablet_driver") {
tablet_driver_editor = value; tablet_driver_editor = value;
tablet_found = true; tablet_found = true;
} }
@@ -3224,7 +3226,7 @@ Error Main::setup2(bool p_show_boot_logo) {
} }
#ifdef TOOLS_ENABLED #ifdef TOOLS_ENABLED
if (project_manager && init_display_scale_found) { if (project_manager) {
float ui_scale = init_custom_scale; float ui_scale = init_custom_scale;
switch (init_display_scale) { switch (init_display_scale) {
case 0: case 0: