summaryrefslogtreecommitdiff
path: root/apps/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tree.c')
-rw-r--r--apps/tree.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/apps/tree.c b/apps/tree.c
index 8746145154..e56c7a76de 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1041,13 +1041,8 @@ static bool dirbrowse(void)
1041 if(!numentries) 1041 if(!numentries)
1042 onplay_result = onplay(NULL, 0, curr_context); 1042 onplay_result = onplay(NULL, 0, curr_context);
1043 else { 1043 else {
1044 if (currdir[1])
1045 snprintf(buf, sizeof buf, "%s/%s",
1046 currdir, dircache[tc.dircursor+tc.dirstart].name);
1047 else
1048 snprintf(buf, sizeof buf, "/%s",
1049 dircache[tc.dircursor+tc.dirstart].name);
1050 if (id3db) 1044 if (id3db)
1045 {
1051 switch (tc.currtable) 1046 switch (tc.currtable)
1052 { 1047 {
1053 case allsongs: 1048 case allsongs:
@@ -1055,10 +1050,23 @@ static bool dirbrowse(void)
1055 case songs4artist: 1050 case songs4artist:
1056 case searchsongs: 1051 case searchsongs:
1057 attr=TREE_ATTR_MPA; 1052 attr=TREE_ATTR_MPA;
1053 db_get_filename(&tc, buf, sizeof(buf));
1058 break; 1054 break;
1059 } 1055 }
1056 }
1060 else 1057 else
1058 {
1061 attr = dircache[tc.dircursor+tc.dirstart].attr; 1059 attr = dircache[tc.dircursor+tc.dirstart].attr;
1060
1061 if (currdir[1])
1062 snprintf(buf, sizeof buf, "%s/%s",
1063 currdir,
1064 dircache[tc.dircursor+tc.dirstart].name);
1065 else
1066 snprintf(buf, sizeof buf, "/%s",
1067 dircache[tc.dircursor+tc.dirstart].name);
1068 }
1069
1062 onplay_result = onplay(buf, attr, curr_context); 1070 onplay_result = onplay(buf, attr, curr_context);
1063 } 1071 }
1064 1072