Disconnect tagreader reply metaobject connection in lambda
Otherwise the tagreader reply is deleted to early causing crashes.
This commit is contained in:
@@ -384,8 +384,7 @@ void TagReaderClient::SaveSongsPlaycountAsync(const SongList &songs) {
|
||||
Q_ASSERT(QThread::currentThread() != thread());
|
||||
|
||||
for (const Song &song : songs) {
|
||||
TagReaderReplyPtr reply = SaveSongPlaycountAsync(song.url().toLocalFile(), song.playcount());
|
||||
QObject::connect(&*reply, &TagReaderReply::Finished, &*reply, &TagReaderReply::deleteLater);
|
||||
SaveSongPlaycountAsync(song.url().toLocalFile(), song.playcount());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -418,8 +417,7 @@ void TagReaderClient::SaveSongsRatingAsync(const SongList &songs) {
|
||||
Q_ASSERT(QThread::currentThread() != thread());
|
||||
|
||||
for (const Song &song : songs) {
|
||||
TagReaderReplyPtr reply = SaveSongRatingAsync(song.url().toLocalFile(), song.rating());
|
||||
QObject::connect(&*reply, &TagReaderReply::Finished, &*reply, &TagReaderReply::deleteLater);
|
||||
SaveSongRatingAsync(song.url().toLocalFile(), song.rating());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,4 @@ void TagReaderLoadCoverDataReply::EmitFinished() {
|
||||
Q_EMIT TagReaderReply::Finished(filename_, result_);
|
||||
Q_EMIT TagReaderLoadCoverDataReply::Finished(filename_, data_, result_);
|
||||
|
||||
QObject::disconnect(this, &TagReaderReply::Finished, nullptr, nullptr);
|
||||
QObject::disconnect(this, &TagReaderLoadCoverDataReply::Finished, nullptr, nullptr);
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,4 @@ void TagReaderLoadCoverImageReply::EmitFinished() {
|
||||
Q_EMIT TagReaderReply::Finished(filename_, result_);
|
||||
Q_EMIT TagReaderLoadCoverImageReply::Finished(filename_, image_, result_);
|
||||
|
||||
QObject::disconnect(this, &TagReaderReply::Finished, nullptr, nullptr);
|
||||
QObject::disconnect(this, &TagReaderLoadCoverImageReply::Finished, nullptr, nullptr);
|
||||
|
||||
}
|
||||
|
||||
@@ -40,7 +40,4 @@ void TagReaderReadFileReply::EmitFinished() {
|
||||
Q_EMIT TagReaderReply::Finished(filename_, result_);
|
||||
Q_EMIT TagReaderReadFileReply::Finished(filename_, song_, result_);
|
||||
|
||||
QObject::disconnect(this, &TagReaderReply::Finished, nullptr, nullptr);
|
||||
QObject::disconnect(this, &TagReaderReadFileReply::Finished, nullptr, nullptr);
|
||||
|
||||
}
|
||||
|
||||
@@ -52,6 +52,4 @@ void TagReaderReply::EmitFinished() {
|
||||
|
||||
Q_EMIT TagReaderReply::Finished(filename_, result_);
|
||||
|
||||
QObject::disconnect(this, &TagReaderReply::Finished, nullptr, nullptr);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user