diff options
Diffstat (limited to 'apps/shortcuts.c')
-rw-r--r-- | apps/shortcuts.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/shortcuts.c b/apps/shortcuts.c index b52ff4a741..2ac3ceb3a0 100644 --- a/apps/shortcuts.c +++ b/apps/shortcuts.c | |||
@@ -620,13 +620,21 @@ int do_shortcut_menu(void *ignored) | |||
620 | while (done == GO_TO_PREVIOUS) | 620 | while (done == GO_TO_PREVIOUS) |
621 | { | 621 | { |
622 | list.count = shortcut_count; | 622 | list.count = shortcut_count; |
623 | if(tree_get_context()->out_of_tree > 0) /* a shortcut has been selected */ | ||
624 | { | ||
625 | done = GO_TO_FILEBROWSER; | ||
626 | break; | ||
627 | } | ||
628 | |||
623 | if (simplelist_show_list(&list)) | 629 | if (simplelist_show_list(&list)) |
624 | break; /* some error happened?! */ | 630 | break; /* some error happened?! */ |
631 | |||
625 | if (list.selection == -1) | 632 | if (list.selection == -1) |
626 | break; | 633 | break; |
627 | else | 634 | else |
628 | { | 635 | { |
629 | sc = get_shortcut(list.selection); | 636 | sc = get_shortcut(list.selection); |
637 | |||
630 | if (!sc) | 638 | if (!sc) |
631 | continue; | 639 | continue; |
632 | 640 | ||
@@ -668,6 +676,7 @@ int do_shortcut_menu(void *ignored) | |||
668 | if (sc->type == SHORTCUT_FILE) | 676 | if (sc->type == SHORTCUT_FILE) |
669 | browse.flags |= BROWSE_RUNFILE; | 677 | browse.flags |= BROWSE_RUNFILE; |
670 | done = rockbox_browse(&browse); | 678 | done = rockbox_browse(&browse); |
679 | |||
671 | } | 680 | } |
672 | break; | 681 | break; |
673 | case SHORTCUT_SETTING: | 682 | case SHORTCUT_SETTING: |