From d7226508067b210b209d04151e2f1e381bac43f9 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Tue, 1 Nov 2022 17:14:10 +0100 Subject: [PATCH] Don't forward a change to QSetting if the setting didn't change This considerably reduces the number of disk writes --- libraries/shared/src/SettingManager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/shared/src/SettingManager.cpp b/libraries/shared/src/SettingManager.cpp index 9276a93f08..296cbcab0a 100644 --- a/libraries/shared/src/SettingManager.cpp +++ b/libraries/shared/src/SettingManager.cpp @@ -33,7 +33,10 @@ namespace Setting { //qCDebug(settings_writer) << "Setting config " << key << "to" << value; init(); - _qSettings->setValue(key, value); + + if (!_qSettings->contains(key) || _qSettings->value(key) != value) { + _qSettings->setValue(key, value); + } } void WriteWorker::removeKey(const QString key) {