Changing tracks in REPEAT_ONE mode restarts the current track instead of crashing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7232 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/playback.c b/apps/playback.c
index 88a48a7..4756c8a 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1246,7 +1246,7 @@
return false;
logf("Request new track");
-
+
/* Advance to next track. */
if (ci.reload_codec && new_track > 0) {
if (!playlist_check(new_track))
@@ -1356,6 +1356,18 @@
{
if (!playlist_check(peek_index))
return ;
+
+ if (global_settings.repeat_mode == REPEAT_ONE) {
+ if (!paused)
+ pcm_play_pause(false);
+
+ audio_ff_rewind(0);
+
+ if (!paused)
+ pcm_play_pause(true);
+
+ return;
+ }
/* Detect if disk is spinning.. */
if (filling) {