diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index 6c345a7df..a314febe1 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -737,9 +737,14 @@ bool OBSApp::SetTheme(std::string name, std::string path) bool OBSApp::InitTheme() { const char *themeName = config_get_string(globalConfig, "General", - "Theme"); - if (!themeName) - themeName = "Default"; + "CurrentTheme"); + if (!themeName) { + /* Use deprecated "Theme" value if available */ + themeName = config_get_string(globalConfig, + "General", "Theme"); + if (!themeName) + themeName = "Default"; + } if (strcmp(themeName, "Default") != 0 && SetTheme(themeName)) return true; diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 0cbeb771a..c3ac15003 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -2436,8 +2436,9 @@ void OBSBasicSettings::SaveGeneralSettings() string theme = themeData.toStdString(); if (WidgetChanged(ui->theme)) { - config_set_string(GetGlobalConfig(), "General", "Theme", + config_set_string(GetGlobalConfig(), "General", "CurrentTheme", theme.c_str()); + App()->SetTheme(theme); }