diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index c2cb95e12..6da08dd1c 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -1071,21 +1071,27 @@ bool OBSApp::InitTheme() defaultPalette = palette(); const char *themeName = - config_get_string(globalConfig, "General", "CurrentTheme"); + config_get_string(globalConfig, "General", "CurrentTheme2"); - if (!themeName) { + if (!themeName) + /* Use deprecated "CurrentTheme" value if available */ + themeName = config_get_string(globalConfig, "General", + "CurrentTheme"); + if (!themeName) /* Use deprecated "Theme" value if available */ themeName = config_get_string(globalConfig, "General", "Theme"); - if (!themeName) - themeName = DEFAULT_THEME; - if (!themeName) - themeName = "Dark"; - } + if (!themeName) + themeName = DEFAULT_THEME; + if (!themeName) + themeName = "Dark"; if (strcmp(themeName, "Default") == 0) themeName = "System"; - return SetTheme(themeName); + if (strcmp(themeName, "System") != 0 && SetTheme(themeName)) + return true; + + return SetTheme("System"); } OBSApp::OBSApp(int &argc, char **argv, profiler_name_store_t *store) diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 04d25a6b1..3809becb7 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -2760,7 +2760,7 @@ void OBSBasicSettings::SaveGeneralSettings() themeData = DEFAULT_THEME; if (WidgetChanged(ui->theme)) { - config_set_string(GetGlobalConfig(), "General", "CurrentTheme", + config_set_string(GetGlobalConfig(), "General", "CurrentTheme2", QT_TO_UTF8(themeData)); App()->SetTheme(themeData.toUtf8().constData());