From 50dc0cabe3bfa3aeee1cba40d1e31c69a073227f Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Wed, 11 Jul 2007 04:17:43 +0000 Subject: same as previous commit, but more forgotten cases git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13850 a1c6a512-1295-4272-9138-f99709370657 --- apps/menu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/menu.c b/apps/menu.c index ab7540bd78..37d28eb12c 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; } -- cgit v1.2.3