diff --git a/src/blackcore/db/backgrounddataupdater.cpp b/src/blackcore/db/backgrounddataupdater.cpp index 9a5b45ff0..3adf61dd9 100644 --- a/src/blackcore/db/backgrounddataupdater.cpp +++ b/src/blackcore/db/backgrounddataupdater.cpp @@ -89,6 +89,7 @@ namespace BlackCore { if (!CThreadUtils::isCurrentThreadObjectThread(this)) { + // shift in correct thread QTimer::singleShot(0, this, [this, updateTimeSecs] { this->startUpdating(updateTimeSecs); }); return; } diff --git a/src/blackgui/components/settingsmodelcomponent.cpp b/src/blackgui/components/settingsmodelcomponent.cpp index fe56fe652..10be5c5ed 100644 --- a/src/blackgui/components/settingsmodelcomponent.cpp +++ b/src/blackgui/components/settingsmodelcomponent.cpp @@ -30,8 +30,11 @@ namespace BlackGui this->cacheChanged(); connect(ui->le_ConsolidateSecs, &QLineEdit::returnPressed, this, &CSettingsModelComponent::consolidationEntered); - static QString lbl("Consolidate (%1-%2s):"); + const QString lbl("Consolidate (%1-%2s):"); ui->lbl_Consolidate->setText(lbl.arg(TBackgroundConsolidation::minSecs()).arg(TBackgroundConsolidation::maxSecs())); + + // start updater if not yet done + QTimer::singleShot(2000, this, &CSettingsModelComponent::consolidationEntered); } CSettingsModelComponent::~CSettingsModelComponent() @@ -54,7 +57,7 @@ namespace BlackGui void CSettingsModelComponent::consolidationEntered() { int v = this->getBackgroundUpdaterIntervallSecs(); - if (v < TBackgroundConsolidation::minSecs()) v = -1; + if (v < TBackgroundConsolidation::minSecs()) { v = -1; } const CStatusMessage m = m_consolidationSetting.setAndSave(v); CLogMessage::preformatted(m); diff --git a/src/blackgui/components/settingsmodelcomponent.h b/src/blackgui/components/settingsmodelcomponent.h index b16f1e551..68171bf6b 100644 --- a/src/blackgui/components/settingsmodelcomponent.h +++ b/src/blackgui/components/settingsmodelcomponent.h @@ -44,7 +44,7 @@ namespace BlackGui private: QScopedPointer ui; BlackMisc::CSetting m_consolidationSetting { this, &CSettingsModelComponent::cacheChanged }; //!< consolidation time - BlackCore::Db::CBackgroundDataUpdater *m_updater = nullptr; + BlackCore::Db::CBackgroundDataUpdater *m_updater = nullptr; //!< externally (i.e. other component) provided existing updater //! Consolidation time entered void consolidationEntered(); diff --git a/src/swiftdata/swiftdata.cpp b/src/swiftdata/swiftdata.cpp index 801ebd156..186eaa0bd 100644 --- a/src/swiftdata/swiftdata.cpp +++ b/src/swiftdata/swiftdata.cpp @@ -150,7 +150,10 @@ void CSwiftData::initMenu() void CSwiftData::performGracefulShutdown() { - // void + if (this->m_updater) + { + this->m_updater->gracefulShutdown(); + } } void CSwiftData::consolidationSettingChanged()