aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/playlistmodel.cpp')
-rw-r--r--src/qmmpui/playlistmodel.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 876c42e84..4d3cb040d 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -815,7 +815,7 @@ QList<PlayListItem *> PlayListModel::items() const
void PlayListModel::addToQueue()
{
- QList<PlayListTrack*> selected_tracks = selectedTracks();
+ const QList<PlayListTrack*> selected_tracks = selectedTracks();
blockSignals(true);
for(PlayListTrack *track : qAsConst(selected_tracks))
setQueued(track);
@@ -976,12 +976,17 @@ void PlayListModel::onTaskFinished()
flags |= STOP_AFTER;
}
- for(PlayListTrack *t : qAsConst(m_queued_songs))
+ QList<PlayListTrack *>::iterator it = m_queued_songs.begin();
+ while(it != m_queued_songs.end())
{
- if(!m_container->contains(t))
+ if(!m_container->contains(*it))
{
flags |= QUEUE;
- m_queued_songs.removeAll(t);
+ it = m_queued_songs.erase(it);
+ }
+ else
+ {
+ ++it;
}
}