From bb6eea6c72190be88a80eb5fb6cd9822eee5ae48 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 23 Apr 2016 02:18:04 +0200 Subject: [PATCH] refs #641, using order in model caches --- src/blackmisc/simulation/data/modelcaches.cpp | 20 +++++++++++++++---- src/blackmisc/valuecache.cpp | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/blackmisc/simulation/data/modelcaches.cpp b/src/blackmisc/simulation/data/modelcaches.cpp index 4ce806a36..952a4b973 100644 --- a/src/blackmisc/simulation/data/modelcaches.cpp +++ b/src/blackmisc/simulation/data/modelcaches.cpp @@ -98,12 +98,24 @@ namespace BlackMisc CStatusMessage CModelSetCaches::setCachedModels(const CAircraftModelList &models, const CSimulatorInfo &simulator) { Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator"); + CAircraftModelList m(models); + + // make sure we have a proper order + if (m.needsOrder()) + { + m.resetOrder(); + } + else + { + m.sortAscendingByOrder(); + } + switch (simulator.getSimulator()) { - case CSimulatorInfo::FS9: return this->m_modelCacheFs9.set(models); - case CSimulatorInfo::FSX: return this->m_modelCacheFsx.set(models); - case CSimulatorInfo::P3D: return this->m_modelCacheP3D.set(models); - case CSimulatorInfo::XPLANE: return this->m_modelCacheXP.set(models); + case CSimulatorInfo::FS9: return this->m_modelCacheFs9.set(m); + case CSimulatorInfo::FSX: return this->m_modelCacheFsx.set(m); + case CSimulatorInfo::P3D: return this->m_modelCacheP3D.set(m); + case CSimulatorInfo::XPLANE: return this->m_modelCacheXP.set(m); default: Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator"); return CStatusMessage(); diff --git a/src/blackmisc/valuecache.cpp b/src/blackmisc/valuecache.cpp index 2f2bdfd0d..1690a658d 100644 --- a/src/blackmisc/valuecache.cpp +++ b/src/blackmisc/valuecache.cpp @@ -492,7 +492,7 @@ namespace BlackMisc emit valuesWantToCache({ { { element.m_key, value } }, timestamp, save }); } // All good info - status = CStatusMessage(this, CStatusMessage::SeverityInfo, "set values in cache"); + status = CStatusMessage(this, CStatusMessage::SeverityInfo, "Set values in " + this->getKey(element)); } return status; }