diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/option_select.c | 19 |
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 | } |