diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/bookmark.c | 6 | ||||
-rw-r--r-- | apps/menus/playlist_menu.c | 2 | ||||
-rw-r--r-- | apps/playlist.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c index 3db049475d..2411ddb0ee 100644 --- a/apps/bookmark.c +++ b/apps/bookmark.c | |||
@@ -520,7 +520,11 @@ static char* create_bookmark(char **name, | |||
520 | /* ----------------------------------------------------------------------- */ | 520 | /* ----------------------------------------------------------------------- */ |
521 | static void get_track_resume_info(struct resume_info *resume_info) | 521 | static void get_track_resume_info(struct resume_info *resume_info) |
522 | { | 522 | { |
523 | playlist_get_resume_info(&(resume_info->resume_index)); | 523 | if (global_settings.playlist_shuffle) |
524 | playlist_get_resume_info(&(resume_info->resume_index)); | ||
525 | else | ||
526 | resume_info->resume_index = playlist_get_display_index() - 1; | ||
527 | |||
524 | resume_info->resume_seed = playlist_get_seed(NULL); | 528 | resume_info->resume_seed = playlist_get_seed(NULL); |
525 | resume_info->id3 = audio_current_track(); | 529 | resume_info->id3 = audio_current_track(); |
526 | resume_info->repeat_mode = global_settings.repeat_mode; | 530 | resume_info->repeat_mode = global_settings.repeat_mode; |
diff --git a/apps/menus/playlist_menu.c b/apps/menus/playlist_menu.c index e527e3ebef..affe20418d 100644 --- a/apps/menus/playlist_menu.c +++ b/apps/menus/playlist_menu.c | |||
@@ -121,7 +121,7 @@ int save_playlist_screen(struct playlist_info* playlist) | |||
121 | } | 121 | } |
122 | 122 | ||
123 | /* can't trust index from id3 (don't know why), get it from playlist */ | 123 | /* can't trust index from id3 (don't know why), get it from playlist */ |
124 | resume_index = playlist_get_current()->index; | 124 | resume_index = playlist_get_display_index() - 1; |
125 | 125 | ||
126 | struct mp3entry* id3 = audio_current_track(); | 126 | struct mp3entry* id3 = audio_current_track(); |
127 | 127 | ||
diff --git a/apps/playlist.c b/apps/playlist.c index 8071874be0..972d0ea755 100644 --- a/apps/playlist.c +++ b/apps/playlist.c | |||
@@ -3886,6 +3886,8 @@ static int pl_save_update_control(struct playlist_info* playlist, | |||
3886 | 3886 | ||
3887 | /* Reset shuffle seed */ | 3887 | /* Reset shuffle seed */ |
3888 | playlist->seed = 0; | 3888 | playlist->seed = 0; |
3889 | if (playlist == ¤t_playlist) | ||
3890 | global_settings.playlist_shuffle = false; | ||
3889 | 3891 | ||
3890 | pl_close_control(playlist); | 3892 | pl_close_control(playlist); |
3891 | close(old_fd); | 3893 | close(old_fd); |