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 2 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)
} }
} }
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); resumeData.ltAddTorrentParams.userdata = LTClientData(new ExtensionData);
#ifndef QBT_USES_LIBTORRENT2 #ifndef QBT_USES_LIBTORRENT2
resumeData.ltAddTorrentParams.storage = customStorageConstructor; resumeData.ltAddTorrentParams.storage = customStorageConstructor;
@ -4824,7 +4842,6 @@ const CacheStatus &Session::cacheStatus() const
return m_cacheStatus; return m_cacheStatus;
} }
qint64 Session::getAlltimeDL() const qint64 Session::getAlltimeDL() const
{ {
return m_statistics->getAlltimeDL(); return m_statistics->getAlltimeDL();

Loading…
Cancel
Save