From 56a25dfdeeeeaabfac5c8c1dedeb84012904b51d Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Wed, 4 Jan 2017 11:56:24 -0800 Subject: [PATCH] Check setting value changed --- interface/src/Application.cpp | 1 + libraries/shared/src/SettingHandle.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index b58bedb363..832419a75c 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1137,6 +1137,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo _settingsTimer.moveToThread(&_settingsThread); _settingsTimer.setSingleShot(false); _settingsTimer.setInterval(SAVE_SETTINGS_INTERVAL); // 10s, Qt::CoarseTimer acceptable + _settingsThread.setPriority(QThread::LowestPriority); _settingsThread.start(); if (Menu::getInstance()->isOptionChecked(MenuOption::FirstPerson)) { diff --git a/libraries/shared/src/SettingHandle.cpp b/libraries/shared/src/SettingHandle.cpp index 626d7e7ef5..a04a7c3f61 100644 --- a/libraries/shared/src/SettingHandle.cpp +++ b/libraries/shared/src/SettingHandle.cpp @@ -74,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 {