diff --git a/libraries/shared/src/SettingManager.cpp b/libraries/shared/src/SettingManager.cpp index f524e8e102..26f7d0ca7b 100644 --- a/libraries/shared/src/SettingManager.cpp +++ b/libraries/shared/src/SettingManager.cpp @@ -127,7 +127,7 @@ namespace Setting { */ void Manager::forceSave() { withWriteLock([&] { - _qSettings.sync(); + _qSettings->sync(); }); } diff --git a/libraries/shared/src/SettingManager.h b/libraries/shared/src/SettingManager.h index 5cf16112a9..0a8cd6482b 100644 --- a/libraries/shared/src/SettingManager.h +++ b/libraries/shared/src/SettingManager.h @@ -23,6 +23,7 @@ // This is for the testing system. class SettingsTests; +class SettingsTestsWorker; @@ -50,7 +51,6 @@ namespace Setting { void setArrayIndex(int i); void setValue(const QString &key, const QVariant &value); QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const; - void forceSave(); protected: ~Manager(); @@ -59,6 +59,7 @@ namespace Setting { void loadSetting(Interface* handle); void saveSetting(Interface* handle); + void forceSave(); private slots: void startTimer(); @@ -73,7 +74,8 @@ namespace Setting { QHash _pendingChanges; friend class Interface; - friend class SettingsTests; + friend class ::SettingsTests; + friend class ::SettingsTestsWorker; friend void cleanupSettingsSaveThread(); friend void setupSettingsSaveThread(); diff --git a/tests/shared/src/SettingsTests.cpp b/tests/shared/src/SettingsTests.cpp index 060a8cbceb..4dd0fec8ae 100644 --- a/tests/shared/src/SettingsTests.cpp +++ b/tests/shared/src/SettingsTests.cpp @@ -20,7 +20,7 @@ QTEST_MAIN(SettingsTests) -void SettingsTestThread::saveSettings() { +void SettingsTestsWorker::saveSettings() { auto sm = DependencyManager::get(); QThread *thread = QThread::currentThread(); @@ -75,7 +75,6 @@ void SettingsTests::benchmarkSetValue() { sm->setValue("BenchmarkSetValue", ++i); } - sm->forceSave(); } @@ -84,7 +83,7 @@ void SettingsTests::benchmarkSaveSettings() { int i = 0; QBENCHMARK { - sm->setValue("Benchmark", ++i); + sm->setValue("BenchmarkSave", ++i); sm->forceSave(); } @@ -96,22 +95,22 @@ void SettingsTests::benchmarkSetValueConcurrent() { int i = 0; _settingsThread = new QThread(qApp); - _settingsThreadObj = new SettingsTestThread; + _testWorker = new SettingsTestsWorker(); _settingsThread->setObjectName("Save thread"); - _settingsThreadObj->moveToThread(_settingsThread); + _testWorker->moveToThread(_settingsThread); - QObject::connect(_settingsThread, &QThread::started, _settingsThreadObj, &SettingsTestThread::saveSettings, Qt::QueuedConnection ); + QObject::connect(_settingsThread, &QThread::started, _testWorker, &SettingsTestsWorker::saveSettings, Qt::QueuedConnection ); _settingsThread->start(); QBENCHMARK { - sm->setValue("BenchmarkSetValue", ++i); + sm->setValue("BenchmarkSetValueConcurrent", ++i); } _settingsThread->requestInterruption(); _settingsThread->wait(); - delete _settingsThreadObj; + delete _testWorker; delete _settingsThread; } diff --git a/tests/shared/src/SettingsTests.h b/tests/shared/src/SettingsTests.h index 7de6f0df1d..52198a3cd3 100644 --- a/tests/shared/src/SettingsTests.h +++ b/tests/shared/src/SettingsTests.h @@ -12,16 +12,18 @@ #include -class SettingsTestThread : public QObject { + + +class SettingsTestsWorker : public QObject { Q_OBJECT public slots: void saveSettings(); }; - class SettingsTests : public QObject { Q_OBJECT + private slots: void initTestCase(); void loadSettings(); @@ -35,7 +37,7 @@ private slots: private: QThread *_settingsThread = nullptr; - SettingsTestThread *_settingsThreadObj = nullptr; + SettingsTestsWorker *_testWorker = nullptr; };