summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/tree.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 8889b160e8..c248631744 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -923,7 +923,7 @@ int rockbox_browse(const char *root, int dirfilter)
923 static struct tree_context backup; 923 static struct tree_context backup;
924 char current[MAX_PATH]; 924 char current[MAX_PATH];
925 int last_context; 925 int last_context;
926 const char *dir, *ext, *setting; 926 const char *dir, *ext, *setting = NULL;
927 927
928 backup = tc; 928 backup = tc;
929 tc.selected_item = 0; 929 tc.selected_item = 0;
@@ -979,19 +979,12 @@ int rockbox_browse(const char *root, int dirfilter)
979 setting = global_settings.fmr_file; 979 setting = global_settings.fmr_file;
980 break; 980 break;
981#endif 981#endif
982 default:
983 dir = ext = setting = NULL;
984 break;
985 } 982 }
986 983
987 if (setting)
988 snprintf(current, sizeof(current), "%s/%s.%s", dir, setting, ext);
989 else /* reset current, the next call might use the old value */
990 current[0] = '\0';
991
992 /* If we've found a file to center on, do it */ 984 /* If we've found a file to center on, do it */
993 if (current[0] == '/') 985 if (setting)
994 { 986 {
987 snprintf(current, sizeof(current), "%s/%s.%s", dir, setting, ext);
995 set_current_file(current); 988 set_current_file(current);
996 /* set_current_file changes dirlevel, change it back */ 989 /* set_current_file changes dirlevel, change it back */
997 tc.dirlevel = 0; 990 tc.dirlevel = 0;