summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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. */