Don't pollute move queue by torrents w/o metadata

There's really nothing to move if the torrent still doesn't have metadata.
Additionally, such torrents in the queue can lead to unexpected behavior
when reloading the torrent after metadata is received.

PR #17823.
This commit is contained in:
Vladimir Golovnev 2022-10-04 19:41:36 +03:00 committed by GitHub
commit e7370d1a0f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -504,6 +504,9 @@ void TorrentImpl::setAutoTMMEnabled(bool enabled)
Path TorrentImpl::actualStorageLocation() const Path TorrentImpl::actualStorageLocation() const
{ {
if (!hasMetadata())
return {};
return Path(m_nativeStatus.save_path); return Path(m_nativeStatus.save_path);
} }
@ -1690,6 +1693,12 @@ void TorrentImpl::resume(const TorrentOperatingMode mode)
void TorrentImpl::moveStorage(const Path &newPath, const MoveStorageMode mode) void TorrentImpl::moveStorage(const Path &newPath, const MoveStorageMode mode)
{ {
if (!hasMetadata())
{
m_session->handleTorrentSavePathChanged(this);
return;
}
if (m_session->addMoveTorrentStorageJob(this, newPath, mode)) if (m_session->addMoveTorrentStorageJob(this, newPath, mode))
{ {
m_storageIsMoving = true; m_storageIsMoving = true;