summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-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)
411 } 411 }
412 else if (action == ACTION_STD_CANCEL) 412 else if (action == ACTION_STD_CANCEL)
413 { 413 {
414 bool exiting_menu = false;
414 in_stringlist = false; 415 in_stringlist = false;
415 if (menu_callback) 416 if (menu_callback)
416 menu_callback(ACTION_EXIT_MENUITEM, menu); 417 menu_callback(ACTION_EXIT_MENUITEM, menu);
417 418
418 if (menu->flags&MENU_EXITAFTERTHISMENU) 419 if (menu->flags&MENU_EXITAFTERTHISMENU)
419 done = true; 420 done = true;
421 else if ((menu->flags&MENU_TYPE_MASK) == MT_MENU)
422 exiting_menu = true;
420 if (stack_top > 0) 423 if (stack_top > 0)
421 { 424 {
422 stack_top--; 425 stack_top--;
423 menu = menu_stack[stack_top]; 426 menu = menu_stack[stack_top];
424 if (menu->flags&MENU_EXITAFTERTHISMENU) 427 if (!exiting_menu && (menu->flags&MENU_EXITAFTERTHISMENU))
425 done = true; 428 done = true;
426 else 429 else
427 init_menu_lists(menu, &lists, 430 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 @@
7 * \/ \/ \/ \/ \/ 7 * \/ \/ \/ \/ \/
8 * $Id$ 8 * $Id$
9 * 9 *
10 * Copyright (C) 2002 Bjrn Stenberg 10 * Copyright (C) 2002 Björn Stenberg
11 * 11 *
12 * All files in this archive are subject to the GNU General Public License. 12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement. 13 * 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 */
80void talk_shutup(void); /* Interrupt voice, as when enqueue is false */ 80void talk_shutup(void); /* Interrupt voice, as when enqueue is false */
81 81
82#if CONFIG_RTC 82#if CONFIG_RTC
83/* this is in talk.c which isnt compiled for hwcodec simulator */
84#if !defined(SIMULATOR) || CONFIG_CODEC == SWCODEC
85void talk_time(struct tm *tm, bool enqueue); 83void talk_time(struct tm *tm, bool enqueue);
86void talk_date(struct tm *tm, bool enqueue); 84void talk_date(struct tm *tm, bool enqueue);
87#else
88#define talk_date(t, e)
89#define talk_time(t, e)
90#endif
91#endif /* CONFIG_RTC */ 85#endif /* CONFIG_RTC */
92 86
93/* This (otherwise invalid) ID signals the end of the array. */ 87/* This (otherwise invalid) ID signals the end of the array. */