From 9a43e924d0668df314777b7f0dabb1a60ed35a86 Mon Sep 17 00:00:00 2001 From: EmulationEnjoyer <144477224+EmulationEnjoyer@users.noreply.github.com> Date: Fri, 15 Nov 2024 02:10:12 +0000 Subject: [PATCH] correct width/height scaled values when saving settings --- src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 99b3508b0..4ddcee07f 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -445,8 +445,10 @@ namespace Ryujinx.Ava.UI.Windows // Only save rectangle properties if the window is not in a maximized state. if (WindowState != WindowState.Maximized) { - ConfigurationState.Instance.UI.WindowStartup.WindowSizeHeight.Value = (int)Height; - ConfigurationState.Instance.UI.WindowStartup.WindowSizeWidth.Value = (int)Width; + // Since scaling is being applied to the loaded settings from disk (see SetWindowSizePosition() above), scaling should be removed from width/height before saving out to disk + // as well - otherwise anyone not using a 1.0 scale factor their window will increase in size with every subsequent launch of the program when scaling is applied (Nov. 14, 2024) + ConfigurationState.Instance.UI.WindowStartup.WindowSizeHeight.Value = (int)(Height / Program.WindowScaleFactor); + ConfigurationState.Instance.UI.WindowStartup.WindowSizeWidth.Value = (int)(Width / Program.WindowScaleFactor); ConfigurationState.Instance.UI.WindowStartup.WindowPositionX.Value = Position.X; ConfigurationState.Instance.UI.WindowStartup.WindowPositionY.Value = Position.Y;