diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java index 415833511..1a8eb0b98 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettings.java @@ -47,7 +47,10 @@ public class JadxSettings extends JadxCLIArgs { private Map windowPos = new HashMap<>(); - public JadxSettings() { + public static JadxSettings makeDefault() { + JadxSettings jadxSettings = new JadxSettings(); + jadxSettings.fixOnLoad(); + return jadxSettings; } public void sync() { diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java index e555f5e91..66a7a09e5 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsAdapter.java @@ -46,10 +46,13 @@ public class JadxSettingsAdapter { JadxSettings settings = fromString(jsonSettings); if (settings == null) { LOG.debug("Created new settings."); - settings = new JadxSettings(); + settings = JadxSettings.makeDefault(); + } else { + settings.fixOnLoad(); + } + if (LOG.isDebugEnabled()) { + LOG.debug("Loaded settings: {}", makeString(settings)); } - settings.fixOnLoad(); - LOG.debug("Loaded settings: {}", makeString(settings)); return settings; } catch (Exception e) { LOG.error("Error load settings", e); diff --git a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java index 1090c391e..5f0f72334 100644 --- a/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java +++ b/jadx-gui/src/main/java/jadx/gui/settings/JadxSettingsWindow.java @@ -12,8 +12,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import say.swing.JFontChooser; -import jadx.gui.ui.codearea.EditorTheme; import jadx.gui.ui.MainWindow; +import jadx.gui.ui.codearea.EditorTheme; import jadx.gui.utils.LangLocale; import jadx.gui.utils.NLS; @@ -94,7 +94,7 @@ public class JadxSettingsWindow extends JDialog { NLS.str("preferences.reset_title"), JOptionPane.YES_NO_OPTION); if (res == JOptionPane.YES_OPTION) { - String defaults = JadxSettingsAdapter.makeString(new JadxSettings()); + String defaults = JadxSettingsAdapter.makeString(JadxSettings.makeDefault()); JadxSettingsAdapter.fill(settings, defaults); getContentPane().removeAll(); initUI();