summaryrefslogtreecommitdiff
path: root/apps/gui/option_select.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/option_select.c')
-rw-r--r--apps/gui/option_select.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c
index 7d74e202be..d104a6461d 100644
--- a/apps/gui/option_select.c
+++ b/apps/gui/option_select.c
@@ -424,23 +424,18 @@ bool option_screen(struct settings_list *setting, bool use_temp_var)
424 function(*variable); 424 function(*variable);
425 } 425 }
426 426
427 if (use_temp_var) 427 if (oldvalue != *variable)
428 { 428 {
429 if (var_type == F_T_INT || var_type == F_T_UINT) 429 if (use_temp_var)
430 { 430 {
431 if (oldvalue != *variable) 431 if (var_type == F_T_INT || var_type == F_T_UINT)
432 {
433 *(int*)setting->setting = *variable; 432 *(int*)setting->setting = *variable;
434 settings_save(); 433 else
435 } 434 *(bool*)setting->setting = *variable?true:false;
436 }
437 else if (oldvalue != *variable)
438 {
439 *(bool*)setting->setting = *variable?true:false;
440 settings_save();
441 } 435 }
436 settings_save();
442 } 437 }
443 438
444 action_signalscreenchange(); 439 action_signalscreenchange();
445 return false; 440 return false;
446} 441}