summaryrefslogtreecommitdiffstats
path: root/src/library/dao/playlistdao.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/dao/playlistdao.cpp')
-rw-r--r--src/library/dao/playlistdao.cpp7
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();