From 095ad1a39c5bacfa2fba30cf1f9e5c82c31ae674 Mon Sep 17 00:00:00 2001 From: Hardeep Sidhu Date: Tue, 18 Apr 2006 16:44:51 +0000 Subject: [PATCH] Minor fix for insert_shuffle when playlist is empty git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9716 a1c6a512-1295-4272-9138-f99709370657 --- apps/playlist.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/apps/playlist.c b/apps/playlist.c index e96e7d30d0..f3339a6862 100644 --- a/apps/playlist.c +++ b/apps/playlist.c @@ -602,20 +602,25 @@ static int add_track_to_playlist(struct playlist_info* playlist, break; case PLAYLIST_INSERT_SHUFFLED: { - int offset; - int n = playlist->amount - - rotate_index(playlist, playlist->index); - - if (n > 0) - offset = rand() % n; + if (playlist->amount > 0) + { + int offset; + int n = playlist->amount - + rotate_index(playlist, playlist->index); + + if (n > 0) + offset = rand() % n; + else + offset = 0; + + position = playlist->index + offset + 1; + if (position >= playlist->amount) + position -= playlist->amount; + + insert_position = position; + } else - offset = 0; - - position = playlist->index + offset + 1; - if (position >= playlist->amount) - position -= playlist->amount; - - insert_position = position; + position = insert_position = 0; break; } }