Merge pull request #8325 from luis-pereira/prevent-c++11-range-loop-detach

Prevent possible c++11 range-loop container detach
This commit is contained in:
Vladimir Golovnev 2018-02-22 16:28:04 +03:00 committed by GitHub
commit 5c2f698cb4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 35 additions and 12 deletions

View file

@ -43,6 +43,7 @@
#include "../bittorrent/magneturi.h"
#include "../bittorrent/session.h"
#include "../asyncfilestorage.h"
#include "../global.h"
#include "../logger.h"
#include "../profile.h"
#include "../settingsstorage.h"
@ -239,7 +240,7 @@ void AutoDownloader::importRules(const QByteArray &data, AutoDownloader::RulesFi
QByteArray AutoDownloader::exportRulesToJSONFormat() const
{
QJsonObject jsonObj;
for (const auto &rule : rules())
for (const auto &rule : copyAsConst(rules()))
jsonObj.insert(rule.name(), rule.toJsonObject());
return QJsonDocument(jsonObj).toJson();
@ -247,15 +248,14 @@ QByteArray AutoDownloader::exportRulesToJSONFormat() const
void AutoDownloader::importRulesFromJSONFormat(const QByteArray &data)
{
const auto rules = rulesFromJSON(data);
for (const auto &rule : rules)
for (const auto &rule : copyAsConst(rulesFromJSON(data)))
insertRule(rule);
}
QByteArray AutoDownloader::exportRulesToLegacyFormat() const
{
QVariantHash dict;
for (const auto &rule : rules())
for (const auto &rule : copyAsConst(rules()))
dict[rule.name()] = rule.toLegacyDict();
QByteArray data;