From f95504a2c814c42b3adbba4c100120c380f977aa Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 28 Mar 2015 00:45:20 +0100 Subject: [PATCH] refs #398, asserts for frequency the line if (frequencyKHz < 100000) { frequencyKHz += 100000; } might be removed after the fix --- src/blackcore/airspace_monitor.cpp | 1 + src/blackcore/network_vatlib.cpp | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/blackcore/airspace_monitor.cpp b/src/blackcore/airspace_monitor.cpp index d2c0c2ca8..30ffcf866 100644 --- a/src/blackcore/airspace_monitor.cpp +++ b/src/blackcore/airspace_monitor.cpp @@ -611,6 +611,7 @@ namespace BlackCore void CAirspaceMonitor::ps_atcPositionUpdate(const CCallsign &callsign, const BlackMisc::PhysicalQuantities::CFrequency &frequency, const CCoordinateGeodetic &position, const BlackMisc::PhysicalQuantities::CLength &range) { Q_ASSERT(BlackCore::isCurrentThreadCreatingThread(this)); + Q_ASSERT(CComSystem::isValidCivilAviationFrequency(frequency)); if (!this->m_connected) { return; } CAtcStationList stationsWithCallsign = this->m_atcStationsOnline.findByCallsign(callsign); if (stationsWithCallsign.isEmpty()) diff --git a/src/blackcore/network_vatlib.cpp b/src/blackcore/network_vatlib.cpp index 5c6b22b9b..2f14f3709 100644 --- a/src/blackcore/network_vatlib.cpp +++ b/src/blackcore/network_vatlib.cpp @@ -745,8 +745,11 @@ namespace BlackCore void CNetworkVatlib::onAtcPositionUpdate(VatSessionID, const char *callsign, const VatAtcPosition *pos, void *cbvar) { - CFrequency freq(pos->frequency, CFrequencyUnit::kHz()); + int frequencyKHz = pos->frequency; + if (frequencyKHz < 100000) { frequencyKHz += 100000; } + CFrequency freq(frequencyKHz, CFrequencyUnit::kHz()); freq.switchUnit(CFrequencyUnit::MHz()); // we would not need to bother, but this makes it easier to identify + Q_ASSERT(CComSystem::isValidCivilAviationFrequency(freq)); emit cbvar_cast(cbvar)->atcPositionUpdate(cbvar_cast(cbvar)->fromFSD(callsign), freq, CCoordinateGeodetic(pos->latitude, pos->longitude, 0), CLength(pos->visibleRange, CLengthUnit::NM())); }