summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Jackson <rdjackso@rockbox.org>2005-07-24 04:17:34 +0000
committerRyan Jackson <rdjackso@rockbox.org>2005-07-24 04:17:34 +0000
commit795ce8b1a829eb36c051e0c5f2e62572b71ab70c (patch)
tree867e4d37553601249355abb810dbee1c449163ba
parent255e1cf79cd30a1e39e279c65d046ee316072a59 (diff)
downloadrockbox-795ce8b1a829eb36c051e0c5f2e62572b71ab70c.tar.gz
rockbox-795ce8b1a829eb36c051e0c5f2e62572b71ab70c.zip
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
-rw-r--r--apps/playback.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 88a48a7471..4756c8aed1 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1246,7 +1246,7 @@ bool codec_request_next_track_callback(void)
1246 return false; 1246 return false;
1247 1247
1248 logf("Request new track"); 1248 logf("Request new track");
1249 1249
1250 /* Advance to next track. */ 1250 /* Advance to next track. */
1251 if (ci.reload_codec && new_track > 0) { 1251 if (ci.reload_codec && new_track > 0) {
1252 if (!playlist_check(new_track)) 1252 if (!playlist_check(new_track))
@@ -1356,6 +1356,18 @@ static void initiate_track_change(int peek_index)
1356{ 1356{
1357 if (!playlist_check(peek_index)) 1357 if (!playlist_check(peek_index))
1358 return ; 1358 return ;
1359
1360 if (global_settings.repeat_mode == REPEAT_ONE) {
1361 if (!paused)
1362 pcm_play_pause(false);
1363
1364 audio_ff_rewind(0);
1365
1366 if (!paused)
1367 pcm_play_pause(true);
1368
1369 return;
1370 }
1359 1371
1360 /* Detect if disk is spinning.. */ 1372 /* Detect if disk is spinning.. */
1361 if (filling) { 1373 if (filling) {