Summary: | tracks queued incorrectly in a run-out dynamic playlist | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | richlv |
Component: | Playlist | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Slackware | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
richlv
2006-10-16 12:44:42 UTC
SVN commit 597292 by aoliveira: When queuing tracks that are not on playlist, if queue is empty and there's no current track, add tracks to the end of the playlist, instead of adding to the beginning. BUG: 135744 M +7 -3 playlist.cpp --- trunk/extragear/multimedia/amarok/src/playlist.cpp #597291:597292 @@ -512,7 +512,10 @@ } } else { // We add the track after the last track on queue, or after current if the queue is empty - after = m_nextTracks.isEmpty() ? currentTrack() : m_nextTracks.getLast(); + after = m_nextTracks.isEmpty() ? currentTrack() : m_nextTracks.getLast(); + // If there's no tracks on the queue, and there's no current track, fall back to the last item + if ( !after ) + after = lastItem(); // wait until Playlist loader has finished its process, then go to customEvent() to start the queue process. m_queueList = list; @@ -2616,9 +2619,10 @@ } } - if( !after ) findDrop( e->pos(), parent, after ); //shouldn't happen, but you never know! + if( !after ) + findDrop( e->pos(), parent, after ); //shouldn't happen, but you never know! - slotEraseMarker(); + slotEraseMarker(); if ( e->source() == viewport() ) { setSorting( NO_SORT ); //disableSorting and saveState() fix confirmed in revison 598249 |