UI: Ensure theme backward compat. with older OBS vers.
Deprecates "Theme" global config value and uses "CurrentTheme" instead to ensure backward compatibility with older versions of OBS, which will fail to load if you have a theme that isn't available. (Jim Edit: Putting this back because I misunderstood the purpose of jp9000/obs-studio#936)master
parent
bb8e019c36
commit
f1588daca0
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue