From 235332badad9e93d0c4f91ed70147a6865b657a1 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 17 Jul 2018 19:01:08 +0200 Subject: [PATCH] Ref T246, model loader must not fire signal if cache is changed elsewhere --- src/blackmisc/simulation/aircraftmodelloader.cpp | 9 +++++---- src/blackmisc/simulation/aircraftmodelloader.h | 4 +--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/blackmisc/simulation/aircraftmodelloader.cpp b/src/blackmisc/simulation/aircraftmodelloader.cpp index 2b90b5cb3..dd85b6084 100644 --- a/src/blackmisc/simulation/aircraftmodelloader.cpp +++ b/src/blackmisc/simulation/aircraftmodelloader.cpp @@ -37,7 +37,7 @@ namespace BlackMisc this->setObjectInfo(simulator); // first connect is an internal connection to log info about load status - connect(this, &IAircraftModelLoader::loadingFinished, this, &IAircraftModelLoader::onLoadingFinished); + connect(this, &IAircraftModelLoader::loadingFinished, this, &IAircraftModelLoader::onLoadingFinished, Qt::QueuedConnection); connect(&m_caches, &IMultiSimulatorModelCaches::cacheChanged, this, &IAircraftModelLoader::onCacheChanged); connect(&m_settings, &CMultiSimulatorSettings::settingsChanged, this, &IAircraftModelLoader::onSettingsChanged); } @@ -141,13 +141,14 @@ namespace BlackMisc void IAircraftModelLoader::onCacheChanged(const CSimulatorInfo &simInfo) { - static const CStatusMessage status(this, CStatusMessage::SeverityInfo, "Cached changed"); - emit this->loadingFinished(status, simInfo, CacheLoaded); + // this detects a loaded cache elsewhere + Q_UNUSED(simInfo); } void IAircraftModelLoader::onSettingsChanged(const CSimulatorInfo &simInfo) { - emit this->simulatorSettingsChanged(simInfo); + // this detects changed settings elsewhere + Q_UNUSED(simInfo); } QStringList IAircraftModelLoader::getInitializedModelDirectories(const QStringList &modelDirectories, const CSimulatorInfo &simulator) const diff --git a/src/blackmisc/simulation/aircraftmodelloader.h b/src/blackmisc/simulation/aircraftmodelloader.h index bcb084721..d609ff1e7 100644 --- a/src/blackmisc/simulation/aircraftmodelloader.h +++ b/src/blackmisc/simulation/aircraftmodelloader.h @@ -191,11 +191,9 @@ namespace BlackMisc signals: //! Parsing is finished or cache has been loaded + //! \remark does to fire if the cache has been changed elsewhere and it has just been reloaded here! void loadingFinished(const CStatusMessageList &status, const CSimulatorInfo &simulator, LoadFinishedInfo info); - //! Corresponding Settings::CMultiSimulatorSettings::simulatorSettingsChange - void simulatorSettingsChanged(const CSimulatorInfo &simulator); - protected: //! Constructor IAircraftModelLoader(const CSimulatorInfo &simulator);