summaryrefslogtreecommitdiff
path: root/apps/playlist_catalog.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/playlist_catalog.c')
-rw-r--r--apps/playlist_catalog.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/apps/playlist_catalog.c b/apps/playlist_catalog.c
index 0813db11c6..65a48611c0 100644
--- a/apps/playlist_catalog.c
+++ b/apps/playlist_catalog.c
@@ -46,6 +46,7 @@
46#include "talk.h" 46#include "talk.h"
47#include "playlist_viewer.h" 47#include "playlist_viewer.h"
48#include "bookmark.h" 48#include "bookmark.h"
49#include "root_menu.h"
49 50
50/* Use for recursive directory search */ 51/* Use for recursive directory search */
51struct add_track_context { 52struct add_track_context {
@@ -160,7 +161,8 @@ static int display_playlists(char* playlist, bool view)
160 161
161restart: 162restart:
162 browse.flags &= ~BROWSE_SELECTED; 163 browse.flags &= ~BROWSE_SELECTED;
163 rockbox_browse(&browse); 164 if (rockbox_browse(&browse) == GO_TO_WPS)
165 result = 0;
164 166
165 if (browse.flags & BROWSE_SELECTED) 167 if (browse.flags & BROWSE_SELECTED)
166 { 168 {
@@ -169,13 +171,24 @@ restart:
169 171
170 if (view) 172 if (view)
171 { 173 {
172 174
173 if (!bookmark_autoload(selected_playlist)) 175 int res = bookmark_autoload(selected_playlist);
176 if (res == BOOKMARK_DO_RESUME)
177 result = 0;
178 else
174 { 179 {
175 if (playlist_viewer_ex(selected_playlist) == PLAYLIST_VIEWER_CANCEL) 180 switch (playlist_viewer_ex(selected_playlist)) {
176 goto restart; 181 case PLAYLIST_VIEWER_OK:
182 result = 0;
183 break;
184 case PLAYLIST_VIEWER_CANCEL:
185 goto restart;
186 case PLAYLIST_VIEWER_USB:
187 case PLAYLIST_VIEWER_MAINMENU:
188 default:
189 break;
190 }
177 } 191 }
178 result = 0;
179 } 192 }
180 else 193 else
181 { 194 {