Browse Source

Try to recover missing tags

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

PR #17290.
adaptive-webui-19844
Chocobo1 3 years ago committed by GitHub
parent
commit
d293c22a52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      src/base/bittorrent/session.cpp

19
src/base/bittorrent/session.cpp

@ -1306,6 +1306,24 @@ void Session::processNextResumeData(ResumeSessionContext *context) @@ -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 @@ -4824,7 +4842,6 @@ const CacheStatus &Session::cacheStatus() const
return m_cacheStatus;
}
qint64 Session::getAlltimeDL() const
{
return m_statistics->getAlltimeDL();

Loading…
Cancel
Save