diff options
author | Steve Bavin <pondlife@pondlife.me> | 2009-03-10 07:27:13 +0000 |
---|---|---|
committer | Steve Bavin <pondlife@pondlife.me> | 2009-03-10 07:27:13 +0000 |
commit | f14999e0b9b180abe0044d9184a5a6f7260e91fe (patch) | |
tree | 7d7d1bfad0743636d41b0504921442abc4f5b356 /apps | |
parent | 754ae4acba00648c5964723f6414f9b6a1f20c9b (diff) | |
download | rockbox-f14999e0b9b180abe0044d9184a5a6f7260e91fe.tar.gz rockbox-f14999e0b9b180abe0044d9184a5a6f7260e91fe.zip |
Fix redraw sequence when exiting a setting menu, so splashes work properly - see FS#9994.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20281 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menu.c | 17 | ||||
-rw-r--r-- | apps/menu.h | 2 |
2 files changed, 3 insertions, 16 deletions
diff --git a/apps/menu.c b/apps/menu.c index 4329c8206d..92d14aac6a 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -283,7 +283,7 @@ static int talk_menu_item(int selected_item, void *data) | |||
283 | return 0; | 283 | return 0; |
284 | } | 284 | } |
285 | 285 | ||
286 | bool do_setting_from_menu(const struct menu_item_ex *temp, | 286 | void do_setting_from_menu(const struct menu_item_ex *temp, |
287 | struct viewport parent[NB_SCREENS]) | 287 | struct viewport parent[NB_SCREENS]) |
288 | { | 288 | { |
289 | int setting_id, oldval; | 289 | int setting_id, oldval; |
@@ -333,15 +333,6 @@ bool do_setting_from_menu(const struct menu_item_ex *temp, | |||
333 | 333 | ||
334 | option_screen((struct settings_list *)setting, parent, | 334 | option_screen((struct settings_list *)setting, parent, |
335 | setting->flags&F_TEMPVAR, title); | 335 | setting->flags&F_TEMPVAR, title); |
336 | if (var_type == F_T_INT || var_type == F_T_UINT) | ||
337 | { | ||
338 | return oldval != *(int*)setting->setting; | ||
339 | } | ||
340 | else if (var_type == F_T_BOOL) | ||
341 | { | ||
342 | return oldval != *(bool*)setting->setting; | ||
343 | } | ||
344 | return false; | ||
345 | } | 336 | } |
346 | 337 | ||
347 | /* display a menu */ | 338 | /* display a menu */ |
@@ -619,11 +610,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected, | |||
619 | case MT_SETTING: | 610 | case MT_SETTING: |
620 | case MT_SETTING_W_TEXT: | 611 | case MT_SETTING_W_TEXT: |
621 | { | 612 | { |
622 | if (do_setting_from_menu(temp, vps)) | 613 | do_setting_from_menu(temp, vps); |
623 | { | ||
624 | init_menu_lists(menu, &lists, selected, true,vps); | ||
625 | redraw_lists = false; /* above does the redraw */ | ||
626 | } | ||
627 | break; | 614 | break; |
628 | } | 615 | } |
629 | case MT_RETURN_ID: | 616 | case MT_RETURN_ID: |
diff --git a/apps/menu.h b/apps/menu.h index 6dec5e0bd3..b386b7ce4b 100644 --- a/apps/menu.h +++ b/apps/menu.h | |||
@@ -101,7 +101,7 @@ struct menu_item_ex { | |||
101 | 101 | ||
102 | typedef int (*menu_callback_type)(int action, | 102 | typedef int (*menu_callback_type)(int action, |
103 | const struct menu_item_ex *this_item); | 103 | const struct menu_item_ex *this_item); |
104 | bool do_setting_from_menu(const struct menu_item_ex *temp, | 104 | void do_setting_from_menu(const struct menu_item_ex *temp, |
105 | struct viewport parent[NB_SCREENS]); | 105 | struct viewport parent[NB_SCREENS]); |
106 | 106 | ||
107 | /* | 107 | /* |