diff --git a/src/base/bittorrent/sessionimpl.cpp b/src/base/bittorrent/sessionimpl.cpp index 38f25693f..cc0796df8 100644 --- a/src/base/bittorrent/sessionimpl.cpp +++ b/src/base/bittorrent/sessionimpl.cpp @@ -5238,9 +5238,6 @@ void SessionImpl::handleMoveTorrentStorageJobFinished(const Path &newPath) if (torrent) { torrent->handleMoveStorageJobFinished(newPath, finishedJob.context, torrentHasOutstandingJob); - // The torrent may become "finished" at the end of the move if it was moved - // from the "incomplete" location after downloading finished. - processPendingFinishedTorrents(); } else if (!torrentHasOutstandingJob) { @@ -5535,6 +5532,9 @@ void SessionImpl::readAlerts() } } + // Some torrents may become "finished" after different alerts handling. + processPendingFinishedTorrents(); + processTrackerStatuses(); } @@ -6180,8 +6180,6 @@ void SessionImpl::handleStateUpdateAlert(const lt::state_update_alert *alert) if (!updatedTorrents.isEmpty()) emit torrentsUpdated(updatedTorrents); - processPendingFinishedTorrents(); - if (m_needSaveTorrentsQueue) saveTorrentsQueue();