diff --git a/src/base/bittorrent/torrentimpl.cpp b/src/base/bittorrent/torrentimpl.cpp index 6898f1838..e97ce2e76 100644 --- a/src/base/bittorrent/torrentimpl.cpp +++ b/src/base/bittorrent/torrentimpl.cpp @@ -411,7 +411,7 @@ void TorrentImpl::setSavePath(const QString &path) m_session->handleTorrentNeedSaveResumeData(this); const bool isFinished = isSeed() || m_hasSeedStatus; - if (isFinished) + if (isFinished || downloadPath().isEmpty()) moveStorage(savePath(), MoveStorageMode::KeepExistingFiles); } @@ -2074,7 +2074,8 @@ void TorrentImpl::adjustStorageLocation() const bool isFinished = isSeed() || m_hasSeedStatus; const QDir targetDir {((isFinished || downloadPath.isEmpty()) ? savePath() : downloadPath)}; - moveStorage(targetDir.absolutePath(), MoveStorageMode::Overwrite); + if ((targetDir != QDir(actualStorageLocation())) || isMoveInProgress()) + moveStorage(targetDir.absolutePath(), MoveStorageMode::Overwrite); } lt::torrent_handle TorrentImpl::nativeHandle() const