From 3ef18a788a64b5a779390f10214156f17392c94c Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 8 May 2018 09:38:49 +0200 Subject: [PATCH] Ref T261, minor adjustment of testAddAltitudeOffsetToSituation --- src/blackmisc/simulation/remoteaircraftprovider.cpp | 13 +++++++------ src/blackmisc/simulation/remoteaircraftprovider.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/blackmisc/simulation/remoteaircraftprovider.cpp b/src/blackmisc/simulation/remoteaircraftprovider.cpp index 351464c60..87db81b05 100644 --- a/src/blackmisc/simulation/remoteaircraftprovider.cpp +++ b/src/blackmisc/simulation/remoteaircraftprovider.cpp @@ -197,8 +197,7 @@ namespace BlackMisc const qint64 ts = QDateTime::currentMSecsSinceEpoch(); // for testing only - CAircraftSituation situationOffset(situation); - this->testAddAltitudeOffsetToSituation(situationOffset); + const CAircraftSituation situationOffset(this->testAddAltitudeOffsetToSituation(situation)); // verify if (CBuildConfig::isLocalDeveloperDebugBuild()) @@ -479,13 +478,13 @@ namespace BlackMisc return m_testOffset.contains(callsign); } - bool CRemoteAircraftProvider::testAddAltitudeOffsetToSituation(CAircraftSituation &situation) const + CAircraftSituation CRemoteAircraftProvider::testAddAltitudeOffsetToSituation(const CAircraftSituation &situation) const { // for global offset testing set "true" constexpr bool globalOffsetTest = false; const CCallsign cs(situation.getCallsign()); - if (!globalOffsetTest && !this->hasTestAltitudeOffset(cs)) { return false; } + if (!globalOffsetTest && !this->hasTestAltitudeOffset(cs)) { return situation; } CLength os; if (globalOffsetTest) { @@ -496,9 +495,11 @@ namespace BlackMisc QReadLocker l(&m_lockSituations); os = m_testOffset.value(cs); } + if (os.isNull() || os.isZeroEpsilonConsidered()) { return situation; } const CAltitude newAlt = situation.getAltitude().withOffset(os); - situation.setAltitude(newAlt); - return true; + CAircraftSituation newSituation(situation); + newSituation.setAltitude(newAlt); + return newSituation; } CStatusMessageList CRemoteAircraftProvider::getAircraftPartsHistory(const CCallsign &callsign) const diff --git a/src/blackmisc/simulation/remoteaircraftprovider.h b/src/blackmisc/simulation/remoteaircraftprovider.h index 161000bfd..7d558c1cd 100644 --- a/src/blackmisc/simulation/remoteaircraftprovider.h +++ b/src/blackmisc/simulation/remoteaircraftprovider.h @@ -375,7 +375,7 @@ namespace BlackMisc //! @} //! Add an offset for testing - bool testAddAltitudeOffsetToSituation(Aviation::CAircraftSituation &situation) const; + Aviation::CAircraftSituation testAddAltitudeOffsetToSituation(const Aviation::CAircraftSituation &situation) const; private: // hashs, because not sorted by key but keeping order