diff --git a/dltmessageanalyzerplugin/src/components/settings/src/CSettingsComponent.cpp b/dltmessageanalyzerplugin/src/components/settings/src/CSettingsComponent.cpp index ca93290..93afc70 100644 --- a/dltmessageanalyzerplugin/src/components/settings/src/CSettingsComponent.cpp +++ b/dltmessageanalyzerplugin/src/components/settings/src/CSettingsComponent.cpp @@ -64,7 +64,13 @@ DMA::tSyncInitOperationResult CSettingsComponent::shutdown() { if(nullptr != mpSettingsManager) { - mpSettingsManager->storeConfigs(); + auto result = mpSettingsManager->storeConfigs(); + + if(false == result.bResult) + { + SEND_ERR(QString("Was not able to store configs due to the following error: %1").arg(result.err)); + } + mpSettingsManager.reset(); } diff --git a/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.cpp b/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.cpp index 8bdb841..753247d 100644 --- a/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.cpp +++ b/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.cpp @@ -367,8 +367,20 @@ CSettingsManager::CSettingsManager(): clearRegexConfig(); loadRegexConfigCustomPath(regexSettingsFilePath); + QString regexUsageStatisticsFilePath = getRegexUsageStatisticsDirectory() + QDir::separator() + mSetting_SelectedRegexFile.getData(); + + if(true == mbInitialised) + { + auto result = storeRegexUsageStatisticsDataCustomPath(regexUsageStatisticsFilePath); + + if(false == result.bResult) + { + SEND_ERR(QString("Was not able to store regex usage statistics due " + "to the following error: %1").arg(result.err)); + } + } + clearRegexUsageStatisticsData(); - QString regexUsageStatisticsFilePath = getRegexUsageStatisticsDirectory() + QDir::separator() + data; loadRegexUsageStatisticsDataCustomPath(regexUsageStatisticsFilePath); selectedRegexFileChanged(data); @@ -497,7 +509,7 @@ CSettingsManager::CSettingsManager(): mUserSettingItemPtrVec(), mPatternsSettingItemPtrVec(), mRegexUsageStatisticsDataItemPtrVec(), - mbRootConfigInitialised(false) + mbInitialised(false) { /////////////// ROOT SETTINGS /////////////// mRootSettingItemPtrVec.push_back(&mSetting_SettingsManagerVersion); @@ -1473,6 +1485,7 @@ CSettingsManager::tOperationResult CSettingsManager::setUp() if(true == result.bResult) { result = loadConfigs(); + mbInitialised = true; } return result; diff --git a/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.hpp b/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.hpp index d890838..93c77ea 100644 --- a/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.hpp +++ b/dltmessageanalyzerplugin/src/components/settings/src/CSettingsManager.hpp @@ -521,5 +521,5 @@ class CSettingsManager : public ISettingsManager tSettingItemsPtrVec mPatternsSettingItemPtrVec; tSettingItemsPtrVec mRegexUsageStatisticsDataItemPtrVec; - bool mbRootConfigInitialised; + bool mbInitialised; };