From 4ef86deda005a8a47fee531123f505afabc9edc0 Mon Sep 17 00:00:00 2001 From: weisj <31143295+weisJ@users.noreply.github.com> Date: Tue, 18 May 2021 00:02:57 +0200 Subject: [PATCH] Settings: If there is no theme currently available (due to no theme being registered) then we should fallback to the default theme offered by the LafManager --- .../weisj/darklaf/settings/ThemeSettingsPanel.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/github/weisj/darklaf/settings/ThemeSettingsPanel.java b/core/src/main/java/com/github/weisj/darklaf/settings/ThemeSettingsPanel.java index 7cb02b66f..1807faed1 100644 --- a/core/src/main/java/com/github/weisj/darklaf/settings/ThemeSettingsPanel.java +++ b/core/src/main/java/com/github/weisj/darklaf/settings/ThemeSettingsPanel.java @@ -189,7 +189,7 @@ private JComponent createGeneralSettings(final GroupLayout.Alignment alignment, JLabel themeLabel = new JLabel(UIManager.getString("label_theme", l)); themeComboBox = new JComboBox<>(LafManager.getThemeComboBoxModel()); themeComboBox.setRenderer(LafManager.getThemeListCellRenderer()); - themeComboBox.setSelectedItem(LafManager.getTheme()); + settingsConfiguration.setTheme(LafManager.getTheme()); themeComboBox.putClientProperty(ComboBoxConstants.KEY_DO_NOT_UPDATE_WHEN_SCROLLED, true); themeComboBox.addItemListener(e -> update()); @@ -603,7 +603,13 @@ private Theme getTheme(final PreferredThemeStyle preferredThemeStyle) { } private Theme getSelectedTheme() { - return (Theme) themeComboBox.getSelectedItem(); + Theme selected = (Theme) themeComboBox.getSelectedItem(); + if (selected == null) { + selected = LafManager.getInstalledTheme(); + selected = selected != null ? selected : LafManager.getTheme(); + setTheme(selected); + } + return selected; } @Override