diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menu.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/menu.c b/apps/menu.c index 474c1b6886..a29f5d5dde 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -599,8 +599,17 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected) | |||
599 | } | 599 | } |
600 | action_signalscreenchange(); | 600 | action_signalscreenchange(); |
601 | if (start_selected) | 601 | if (start_selected) |
602 | { | ||
603 | /* make sure the start_selected variable is set to | ||
604 | the selected item from the menu do_menu() was called from */ | ||
605 | if (stack_top > 0) | ||
606 | { | ||
607 | menu = menu_stack[0]; | ||
608 | init_menu_lists(menu,&lists,menu_stack_selected_item[0],true); | ||
609 | } | ||
602 | *start_selected = get_menu_selection( | 610 | *start_selected = get_menu_selection( |
603 | gui_synclist_get_sel_pos(&lists), menu); | 611 | gui_synclist_get_sel_pos(&lists), menu); |
612 | } | ||
604 | return ret; | 613 | return ret; |
605 | } | 614 | } |
606 | 615 | ||