diff --git a/src/base/bittorrent/sessionimpl.cpp b/src/base/bittorrent/sessionimpl.cpp index f09d9338b..295b6434b 100644 --- a/src/base/bittorrent/sessionimpl.cpp +++ b/src/base/bittorrent/sessionimpl.cpp @@ -5230,9 +5230,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) { @@ -5527,6 +5524,9 @@ void SessionImpl::readAlerts() } } + // Some torrents may become "finished" after different alerts handling. + processPendingFinishedTorrents(); + processTrackerStatuses(); } @@ -6166,8 +6166,6 @@ void SessionImpl::handleStateUpdateAlert(const lt::state_update_alert *alert) if (!updatedTorrents.isEmpty()) emit torrentsUpdated(updatedTorrents); - processPendingFinishedTorrents(); - if (m_needSaveTorrentsQueue) saveTorrentsQueue();