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) {