summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 3c28d316b5..408e377e1a 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -268,6 +268,7 @@ bool settings_load_config(const char* file, bool apply)
268 char* name; 268 char* name;
269 char* value; 269 char* value;
270 int i; 270 int i;
271 bool theme_changed = false;
271 fd = open_utf8(file, O_RDONLY); 272 fd = open_utf8(file, O_RDONLY);
272 if (fd < 0) 273 if (fd < 0)
273 return false; 274 return false;
@@ -275,13 +276,15 @@ bool settings_load_config(const char* file, bool apply)
275 while (read_line(fd, line, sizeof line) > 0) 276 while (read_line(fd, line, sizeof line) > 0)
276 { 277 {
277 if (!settings_parseline(line, &name, &value)) 278 if (!settings_parseline(line, &name, &value))
278 continue; 279 continue;
279 for(i=0; i<nb_settings; i++) 280 for(i=0; i<nb_settings; i++)
280 { 281 {
281 if (settings[i].cfg_name == NULL) 282 if (settings[i].cfg_name == NULL)
282 continue; 283 continue;
283 if (!strcasecmp(name,settings[i].cfg_name)) 284 if (!strcasecmp(name,settings[i].cfg_name))
284 { 285 {
286 if (settings[i].flags&F_THEMESETTING)
287 theme_changed = true;
285 switch (settings[i].flags&F_T_MASK) 288 switch (settings[i].flags&F_T_MASK)
286 { 289 {
287 case F_T_CUSTOM: 290 case F_T_CUSTOM:
@@ -363,7 +366,8 @@ bool settings_load_config(const char* file, bool apply)
363 { 366 {
364 settings_save(); 367 settings_save();
365 settings_apply(true); 368 settings_apply(true);
366 settings_apply_skins(); 369 if (theme_changed)
370 settings_apply_skins();
367 } 371 }
368 return true; 372 return true;
369} 373}