forked from len0rd/rockbox
Fixed problem with first_index being incorrectly updated when prepending tracks. Fixes example 1 in B#6005.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10996 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9fe9cdff35
commit
10ad0a2a94
1 changed files with 4 additions and 2 deletions
|
@ -571,10 +571,12 @@ static int add_track_to_playlist(struct playlist_info* playlist,
|
||||||
const char *filename, int position,
|
const char *filename, int position,
|
||||||
bool queue, int seek_pos)
|
bool queue, int seek_pos)
|
||||||
{
|
{
|
||||||
int insert_position = position;
|
int insert_position, orig_position;
|
||||||
unsigned long flags = PLAYLIST_INSERT_TYPE_INSERT;
|
unsigned long flags = PLAYLIST_INSERT_TYPE_INSERT;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
insert_position = orig_position = position;
|
||||||
|
|
||||||
if (playlist->amount >= playlist->max_playlist_size)
|
if (playlist->amount >= playlist->max_playlist_size)
|
||||||
{
|
{
|
||||||
display_buffer_full();
|
display_buffer_full();
|
||||||
|
@ -661,7 +663,7 @@ static int add_track_to_playlist(struct playlist_info* playlist,
|
||||||
playlist->index++;
|
playlist->index++;
|
||||||
|
|
||||||
if (playlist->amount > 0 && insert_position <= playlist->first_index &&
|
if (playlist->amount > 0 && insert_position <= playlist->first_index &&
|
||||||
position != PLAYLIST_PREPEND && playlist->started)
|
orig_position != PLAYLIST_PREPEND && playlist->started)
|
||||||
{
|
{
|
||||||
playlist->first_index++;
|
playlist->first_index++;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue