summaryrefslogtreecommitdiffstats
path: root/apps/menu.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-11-07 10:06:21 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-11-07 10:06:21 +0000
commit5cab5dab0eeab112a742fc10eea5d491901a80af (patch)
tree9de97cb64ff175e032dfd9c049b2492690761b8c /apps/menu.c
parentc14430a9c198c261990ceff77bdfa0856ebcf5fe (diff)
downloadrockbox-5cab5dab0eeab112a742fc10eea5d491901a80af.tar.gz
rockbox-5cab5dab0eeab112a742fc10eea5d491901a80af.tar.bz2
rockbox-5cab5dab0eeab112a742fc10eea5d491901a80af.zip
fix red
fix Björn's name in the (c) fix FS#8105 - backing out of the submenus in the context menus shuoldnt leave the context menu completly (expect playlist which possibly makes sense?) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15513 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/menu.c b/apps/menu.c
index c657c2c1ca..c8fc5f6264 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -411,17 +411,20 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected)
}
else if (action == ACTION_STD_CANCEL)
{
+ bool exiting_menu = false;
in_stringlist = false;
if (menu_callback)
menu_callback(ACTION_EXIT_MENUITEM, menu);
if (menu->flags&MENU_EXITAFTERTHISMENU)
done = true;
+ else if ((menu->flags&MENU_TYPE_MASK) == MT_MENU)
+ exiting_menu = true;
if (stack_top > 0)
{
stack_top--;
menu = menu_stack[stack_top];
- if (menu->flags&MENU_EXITAFTERTHISMENU)
+ if (!exiting_menu && (menu->flags&MENU_EXITAFTERTHISMENU))
done = true;
else
init_menu_lists(menu, &lists,