diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-03-07 10:13:07 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-03-07 10:13:07 +0000 |
| commit | 43b2d091baafa1b1a6c90af6b927a8acc53f8e7b (patch) | |
| tree | 169aeee96bb09ddef77d30181fc664d7bfc97b01 /apps/root_menu.c | |
| parent | 67b3206709171c560705ea4447f21b73524ed21a (diff) | |
| download | rockbox-43b2d091baafa1b1a6c90af6b927a8acc53f8e7b.zip rockbox-43b2d091baafa1b1a6c90af6b927a8acc53f8e7b.tar.gz rockbox-43b2d091baafa1b1a6c90af6b927a8acc53f8e7b.tar.bz2 rockbox-43b2d091baafa1b1a6c90af6b927a8acc53f8e7b.tar.xz | |
Fix the various bugs associated with pressing MENU to move in and out of
the Rockbox Menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12666 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/root_menu.c')
| -rw-r--r-- | apps/root_menu.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/root_menu.c b/apps/root_menu.c index abee02d..c234614 100644 --- a/apps/root_menu.c +++ b/apps/root_menu.c @@ -359,16 +359,21 @@ void root_menu(void) switch (ret_val) { case GO_TO_ROOT: - selected = get_selection(last_screen); + if (last_screen != GO_TO_ROOT) + selected = get_selection(last_screen); ret_val = do_menu(&root_menu_, &selected); /* As long as MENU_ATTACHED_USB == GO_TO_ROOT this works */ - if (ret_val == MENU_ATTACHED_USB) + if (ret_val <= GO_TO_ROOT) { - check_boot(); + if (ret_val == MENU_ATTACHED_USB) + check_boot(); + else if (ret_val == GO_TO_PREVIOUS) + { + ret_val = last_screen; + last_screen = GO_TO_ROOT; + } continue; } - else if (ret_val <= GO_TO_ROOT) - continue; last_screen = GO_TO_ROOT; break; |