summaryrefslogtreecommitdiffstats
path: root/apps/menu.c
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-11-03 18:28:16 +0100
committerWilliam Wilgus <me.theuser@yahoo.com>2022-11-04 16:09:07 -0400
commit51c1e3ce7fa2874f2b1afd0788ff7d2beba6a96e (patch)
treeee0b1b65410627997b5e457bae5c4498cfe23365 /apps/menu.c
parent8cbe5c95a96a2b096b59db66b11fa1897dd5e720 (diff)
downloadrockbox-51c1e3ce7f.tar.gz
rockbox-51c1e3ce7f.zip
Shortcuts: Fix return to wrong menu
Rockbox would go to a previously selected menu instead of returning to the current one when leaving the Shortcuts screen. Change-Id: I3546e32def9124956cd9edc258e14db91d19fa22
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/apps/menu.c b/apps/menu.c
index c86ada1986..d8d1b6b081 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -458,9 +458,16 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
if (global_settings.shortcuts_replaces_qs ||
quick_screen_quick(action) == QUICKSCREEN_GOTO_SHORTCUTS_MENU)
{
+ int last_screen = global_status.last_screen;
global_status.last_screen = GO_TO_SHORTCUTMENU;
- ret = do_shortcut_menu(NULL);
- done = true;
+ int shortcut_ret = do_shortcut_menu(NULL);
+ if (shortcut_ret == GO_TO_PREVIOUS)
+ global_status.last_screen = last_screen;
+ else
+ {
+ ret = shortcut_ret;
+ done = true;
+ }
}
redraw_lists = true;
}