summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--apps/menu.c5
-rw-r--r--apps/screens.c2
-rw-r--r--apps/talk.h6
3 files changed, 5 insertions, 8 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,
diff --git a/apps/screens.c b/apps/screens.c
index 642d523c1d..67f7f7eb37 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -7,7 +7,7 @@
* \/ \/ \/ \/ \/
* $Id$
*
- * Copyright (C) 2002 Bj�rn Stenberg
+ * Copyright (C) 2002 Björn Stenberg
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
diff --git a/apps/talk.h b/apps/talk.h
index 50759bc026..8fe834cb09 100644
--- a/apps/talk.h
+++ b/apps/talk.h
@@ -80,14 +80,8 @@ void talk_force_shutup(void); /* kill voice unconditionally */
void talk_shutup(void); /* Interrupt voice, as when enqueue is false */
#if CONFIG_RTC
-/* this is in talk.c which isnt compiled for hwcodec simulator */
-#if !defined(SIMULATOR) || CONFIG_CODEC == SWCODEC
void talk_time(struct tm *tm, bool enqueue);
void talk_date(struct tm *tm, bool enqueue);
-#else
-#define talk_date(t, e)
-#define talk_time(t, e)
-#endif
#endif /* CONFIG_RTC */
/* This (otherwise invalid) ID signals the end of the array. */