diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menu.c | 5 | ||||
-rw-r--r-- | apps/screens.c | 2 | ||||
-rw-r--r-- | apps/talk.h | 6 |
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 Bj�rn 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 */ | |||
80 | void talk_shutup(void); /* Interrupt voice, as when enqueue is false */ | 80 | void 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 | ||
85 | void talk_time(struct tm *tm, bool enqueue); | 83 | void talk_time(struct tm *tm, bool enqueue); |
86 | void talk_date(struct tm *tm, bool enqueue); | 84 | void 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. */ |