diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-07-11 04:17:43 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-07-11 04:17:43 +0000 |
| commit | 50dc0cabe3bfa3aeee1cba40d1e31c69a073227f (patch) | |
| tree | 68013fa375991873218c930e6758ced12585bc3a | |
| parent | 953e7cf183c9ee95feea249b4f04d30d067515b0 (diff) | |
| download | rockbox-50dc0cabe3bfa3aeee1cba40d1e31c69a073227f.zip rockbox-50dc0cabe3bfa3aeee1cba40d1e31c69a073227f.tar.gz rockbox-50dc0cabe3bfa3aeee1cba40d1e31c69a073227f.tar.bz2 rockbox-50dc0cabe3bfa3aeee1cba40d1e31c69a073227f.tar.xz | |
same as previous commit, but more forgotten cases
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13850 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/menu.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/menu.c b/apps/menu.c index ab7540b..37d28eb 100644 --- a/apps/menu.c +++ b/apps/menu.c @@ -506,6 +506,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected) #endif selected = get_menu_selection(gui_synclist_get_sel_pos(&lists), menu); temp = menu->submenus[selected]; + redraw_lists = true; if (in_stringlist) type = (menu->flags&MENU_TYPE_MASK); else @@ -528,6 +529,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected) menu_stack_selected_item[stack_top] = selected; stack_top++; init_menu_lists(temp, &lists, 0, true); + redraw_lists = false; /* above does the redraw */ menu = temp; talk_item = true; } @@ -555,8 +557,11 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected) case MT_SETTING: case MT_SETTING_W_TEXT: { - do_setting_from_menu(temp); - init_menu_lists(menu, &lists, selected, true); + if (do_setting_from_menu(temp)) + { + init_menu_lists(menu, &lists, selected, true); + redraw_lists = false; /* above does the redraw */ + } talk_item = true; break; } @@ -574,6 +579,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected) stack_top++; menu = temp; init_menu_lists(menu,&lists,0,false); + redraw_lists = false; /* above does the redraw */ talk_item = true; in_stringlist = true; } |