summaryrefslogtreecommitdiff
path: root/apps/gui/option_select.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-07-19 09:17:25 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-07-19 09:17:25 +0000
commitca0cc784bc8268bb2b911fbbb397562c86d520b3 (patch)
tree5b611c5511d02464dab99faef716b673a56dc864 /apps/gui/option_select.c
parent9fe6e0214fb2c13ca68ddeb2a7492de940adb99e (diff)
downloadrockbox-ca0cc784bc8268bb2b911fbbb397562c86d520b3.tar.gz
rockbox-ca0cc784bc8268bb2b911fbbb397562c86d520b3.zip
Fix the problem where settings stopped saving automatically
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13929 a1c6a512-1295-4272-9138-f99709370657
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}