1
mirror of https://github.com/qbittorrent/qBittorrent synced 2024-10-17 13:01:11 +02:00

Try to recover missing tags

Tags can go missing from config/resume data. Try to recover them to avoid inconsistent behavior.

PR #17290.
This commit is contained in:
Chocobo1 2022-07-05 12:29:01 +08:00 committed by GitHub
commit d293c22a52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1306,6 +1306,24 @@ void Session::processNextResumeData(ResumeSessionContext *context)
}
}
Algorithm::removeIf(resumeData.tags, [this, &torrentID](const QString &tag)
{
if (hasTag(tag))
return false;
if (addTag(tag))
{
LogMsg(tr("Detected inconsistent data: tag is missing from the configuration file."
" Tag will be recovered."
" Torrent: \"%1\". Tag: \"%2\"").arg(torrentID.toString(), tag), Log::WARNING);
return false;
}
LogMsg(tr("Detected inconsistent data: invalid tag. Torrent: \"%1\". Tag: \"%2\"")
.arg(torrentID.toString(), tag), Log::WARNING);
return true;
});
resumeData.ltAddTorrentParams.userdata = LTClientData(new ExtensionData);
#ifndef QBT_USES_LIBTORRENT2
resumeData.ltAddTorrentParams.storage = customStorageConstructor;
@ -4824,7 +4842,6 @@ const CacheStatus &Session::cacheStatus() const
return m_cacheStatus;
}
qint64 Session::getAlltimeDL() const
{
return m_statistics->getAlltimeDL();