From dc64e9b6bd98a36930167065a65b7f201b3b302f Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 8 Jun 2016 21:09:21 +0200 Subject: [PATCH] allow to reset simulator if not appropriate for some reasons --- src/blackmisc/simulation/data/modelcaches.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/blackmisc/simulation/data/modelcaches.cpp b/src/blackmisc/simulation/data/modelcaches.cpp index 28c84d8cb..d51b07138 100644 --- a/src/blackmisc/simulation/data/modelcaches.cpp +++ b/src/blackmisc/simulation/data/modelcaches.cpp @@ -65,7 +65,13 @@ namespace BlackMisc CModelCaches::CModelCaches(QObject *parent) : IMultiSimulatorModelCaches(parent) { this->m_currentSimulator.synchronize(); - const CSimulatorInfo sim(this->m_currentSimulator.get()); + CSimulatorInfo sim(this->m_currentSimulator.get()); + if (!sim.isSingleSimulator()) + { + sim = BlackMisc::Simulation::CSimulatorInfo::guessDefaultSimulator(); + this->m_currentSimulator.set(sim); + CLogMessage(this).warning("Invalid simulator, reseting"); + } this->syncronizeCacheImpl(sim); const QString simStr(sim.toQString(true)); CLogMessage(this).info("Initialized model caches to %1") << simStr; @@ -157,10 +163,16 @@ namespace BlackMisc CModelSetCaches::CModelSetCaches(QObject *parent) : IMultiSimulatorModelCaches(parent) { this->m_currentSimulator.synchronize(); - const CSimulatorInfo sim(this->m_currentSimulator.get()); + CSimulatorInfo sim(this->m_currentSimulator.get()); + if (!sim.isSingleSimulator()) + { + sim = BlackMisc::Simulation::CSimulatorInfo::guessDefaultSimulator(); + this->m_currentSimulator.set(sim); + CLogMessage(this).warning("Invalid simulator, reseting"); + } this->syncronizeCacheImpl(sim); const QString simStr(sim.toQString(true)); - CLogMessage(this).info("Initialized model set caches to %1") << simStr; + CLogMessage(this).info("Initialized model caches to %1") << simStr; } CAircraftModelList CModelSetCaches::getCachedModels(const CSimulatorInfo &simulator) const