diff options
Diffstat (limited to 'src/library/dao/playlistdao.cpp')
-rw-r--r-- | src/library/dao/playlistdao.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/library/dao/playlistdao.cpp b/src/library/dao/playlistdao.cpp index c6650a7c1c..5665b029a2 100644 --- a/src/library/dao/playlistdao.cpp +++ b/src/library/dao/playlistdao.cpp @@ -456,14 +456,15 @@ void PlaylistDAO::removeTrackFromPlaylist(int playlistId, int position) { emit tracksChanged(QSet<int>{playlistId}); } -void PlaylistDAO::removeTracksFromPlaylist(int playlistId, QList<int> positions) { +void PlaylistDAO::removeTracksFromPlaylist(int playlistId, const QList<int>& positions) { // get positions in reversed order - std::sort(positions.begin(), positions.end(), std::greater<int>()); + QList sortedPositons = positions; + std::sort(sortedPositons.begin(), sortedPositons.end(), std::greater<int>()); //qDebug() << "PlaylistDAO::removeTrackFromPlaylist" // << QThread::currentThread() << m_database.connectionName(); ScopedTransaction transaction(m_database); - for (const auto position : qAsConst(positions)) { + for (const auto position : qAsConst(sortedPositons)) { removeTracksFromPlaylistInner(playlistId, position); } transaction.commit(); |