From 40ae7174a7ba8cb4a7b8e3898a214a9a48382c5a Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 13 Dec 2018 18:44:15 +0100 Subject: [PATCH] Ref T470, detect NULL cg --- src/plugins/simulator/xplane/simulatorxplane.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index 6776f61c6..667f0a6bb 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -62,6 +62,7 @@ #include #include #include +#include using namespace BlackConfig; using namespace BlackMisc; @@ -938,9 +939,12 @@ namespace BlackSimPlugin if (!m_xplaneAircraftObjects.contains(cs)) { continue; } const CXPlaneMPAircraft xpAircraft = m_xplaneAircraftObjects[cs]; + const double cgValue = verticalOffsetsMeters[i]; // XP offset is swift CG const CAltitude elevationAlt(elevationsMeters[i], CLengthUnit::m(), CLengthUnit::ft()); const CElevationPlane elevation(CLatitude(latitudesDeg[i], CAngleUnit::deg()), CLongitude(longitudesDeg[i], CAngleUnit::deg()), elevationAlt, CElevationPlane::singlePointRadius()); - const CLength cg(verticalOffsetsMeters[i], CLengthUnit::m(), CLengthUnit::ft()); + const CLength cg = std::isnan(cgValue) ? + CLength::null() : + CLength(cgValue, CLengthUnit::m(), CLengthUnit::ft()); this->rememberElevationAndCG(cs, xpAircraft.getAircraftModelString(), elevation, cg); // loopback @@ -1215,7 +1219,7 @@ namespace BlackSimPlugin return; } - if(! traffic.initialize()) + if (!traffic.initialize()) { CLogMessage(this).error("Connection to XSwiftBus successful, but could not initialize XSwiftBus. Check X-Plane Log.txt."); return;