diff options
Diffstat (limited to 'apps/root_menu.c')
-rw-r--r-- | apps/root_menu.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/apps/root_menu.c b/apps/root_menu.c index 0f2e38e395..92e0c66ff6 100644 --- a/apps/root_menu.c +++ b/apps/root_menu.c | |||
@@ -115,6 +115,10 @@ static int browser(void* param) | |||
115 | { | 115 | { |
116 | strcpy(folder, current_track_path); | 116 | strcpy(folder, current_track_path); |
117 | } | 117 | } |
118 | else if (!strcmp(last_folder, "/")) | ||
119 | { | ||
120 | strcpy(folder, global_settings.start_directory); | ||
121 | } | ||
118 | else | 122 | else |
119 | { | 123 | { |
120 | #ifdef HAVE_HOTSWAP | 124 | #ifdef HAVE_HOTSWAP |
@@ -142,9 +146,9 @@ static int browser(void* param) | |||
142 | break; | 146 | break; |
143 | } | 147 | } |
144 | } | 148 | } |
145 | if (!in_hotswap) | 149 | if (!in_hotswap) |
146 | #endif | 150 | #endif |
147 | strcpy(folder, last_folder); | 151 | strcpy(folder, last_folder); |
148 | } | 152 | } |
149 | break; | 153 | break; |
150 | #ifdef HAVE_TAGCACHE | 154 | #ifdef HAVE_TAGCACHE |
@@ -252,7 +256,8 @@ static int browser(void* param) | |||
252 | switch ((intptr_t)param) | 256 | switch ((intptr_t)param) |
253 | { | 257 | { |
254 | case GO_TO_FILEBROWSER: | 258 | case GO_TO_FILEBROWSER: |
255 | if (!get_current_file(last_folder, MAX_PATH)) | 259 | if (!get_current_file(last_folder, MAX_PATH) || |
260 | !strchr(&last_folder[1], '/')) | ||
256 | { | 261 | { |
257 | last_folder[0] = '/'; | 262 | last_folder[0] = '/'; |
258 | last_folder[1] = '\0'; | 263 | last_folder[1] = '\0'; |