Valgrind: Do not save defaults to settings

Task-number: QTCREATORBUG-24762
Change-Id: I10fee50cde9facaa35a67114ac15e8b1daa72ab2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Eike Ziller
2021-02-15 16:44:09 +01:00
parent f4dc3fd5c5
commit f47c7b2e90

View File

@@ -423,19 +423,19 @@ void ValgrindGlobalSettings::setLastSuppressionDialogHistory(const QStringList &
static const char groupC[] = "Analyzer";
void ValgrindGlobalSettings::readSettings()
static QVariantMap defaultSettings()
{
QVariantMap defaults;
// General
defaults.insert(valgrindExeC, "valgrind");
defaults.insert(valgrindArgumentsC, QString());
defaults.insert(selfModifyingCodeDetectionC, DetectSmcStackOnly);
defaults.insert(selfModifyingCodeDetectionC, ValgrindBaseSettings::DetectSmcStackOnly);
// Memcheck
defaults.insert(memcheckArgumentsC, QString());
defaults.insert(numCallersC, 25);
defaults.insert(leakCheckOnFinishC, LeakCheckOnFinishSummaryOnly);
defaults.insert(leakCheckOnFinishC, ValgrindBaseSettings::LeakCheckOnFinishSummaryOnly);
defaults.insert(showReachableC, false);
defaults.insert(trackOriginsC, true);
defaults.insert(filterExternalIssuesC, true);
@@ -463,6 +463,13 @@ void ValgrindGlobalSettings::readSettings()
defaults.insert(callgrindCycleDetectionC, true);
defaults.insert(callgrindShortenTemplates, true);
return defaults;
}
void ValgrindGlobalSettings::readSettings()
{
QVariantMap defaults = defaultSettings();
// Read stored values
QSettings *settings = Core::ICore::settings();
settings->beginGroup(groupC);
@@ -476,12 +483,14 @@ void ValgrindGlobalSettings::readSettings()
void ValgrindGlobalSettings::writeSettings() const
{
QSettings *settings = Core::ICore::settings();
const QVariantMap defaults = defaultSettings();
Utils::QtcSettings *settings = Core::ICore::settings();
settings->beginGroup(groupC);
QVariantMap map;
toMap(map);
for (QVariantMap::ConstIterator it = map.constBegin(); it != map.constEnd(); ++it)
settings->setValue(it.key(), it.value());
settings->setValueWithDefault(it.key(), it.value(), defaults.value(it.key()));
settings->endGroup();
}