mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
UI: Ensure OBS launches when theme is missing
This change makes it so OBS will still launch even if a theme is missing. This change also deprecates the "CurrentTheme" config key, and is replaced by "CurrentTheme2". This is because a previous change to make sure OBS fell back to the System theme in case of a missing theme had been accidentally removed. Changing the key prevents a new version of OBS setting a theme that doesn't exist in an older version, which would prevent that version from launching.
This commit is contained in:
parent
fbf494ad67
commit
f782acb66d
@ -1059,21 +1059,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)
|
||||
|
@ -2726,7 +2726,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());
|
||||
|
Loading…
Reference in New Issue
Block a user