From bc81f00dc76e45a29f79800a5949a5fe7c0515ca Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Sat, 4 Jun 2016 20:47:10 -0700 Subject: [PATCH] Eliminate extraneous writes for unchanged values --- libraries/shared/src/SettingHandle.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/shared/src/SettingHandle.cpp b/libraries/shared/src/SettingHandle.cpp index cad2a0286f..b2f23f5a04 100644 --- a/libraries/shared/src/SettingHandle.cpp +++ b/libraries/shared/src/SettingHandle.cpp @@ -28,7 +28,9 @@ Settings::~Settings() { } void Settings::remove(const QString& key) { - _manager->remove(key); + if (key == "" || _manager->contains(key)) { + _manager->remove(key); + } } QStringList Settings::childGroups() const { @@ -72,7 +74,9 @@ void Settings::endGroup() { } void Settings::setValue(const QString& name, const QVariant& value) { - _manager->setValue(name, value); + if (_manager->value(name) != value) { + _manager->setValue(name, value); + } } QVariant Settings::value(const QString& name, const QVariant& defaultValue) const {