diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index 451fdd97a..3fd039f57 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -651,24 +651,21 @@ namespace BlackSimPlugin // really remove from simulator if (!m_xplaneAircraft.contains(callsign)) { return false; } // already fully removed or not yet added - CXPlaneMPAircraft &xplaneAircraft = m_xplaneAircraft[callsign]; - - // avoid further data from simulator - // this->stopRequestingDataForSimObject(simObject); - - m_traffic->removePlane(callsign.asString()); - - m_xplaneAircraft.remove(callsign); // mark in provider const bool updated = this->updateAircraftRendered(callsign, false); if (updated) { + Q_ASSERT_X(m_xplaneAircraft.contains(callsign), Q_FUNC_INFO, "Aircraft removed"); + const CXPlaneMPAircraft &xplaneAircraft = m_xplaneAircraft[callsign]; CSimulatedAircraft aircraft(xplaneAircraft.getAircraft()); aircraft.setRendered(false); emit this->aircraftRenderingChanged(aircraft); } + m_traffic->removePlane(callsign.asString()); + m_xplaneAircraft.remove(callsign); + // bye return true; } diff --git a/src/plugins/simulator/xplane/simulatorxplane.h b/src/plugins/simulator/xplane/simulatorxplane.h index 64c61260c..e30d7d4d4 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.h +++ b/src/plugins/simulator/xplane/simulatorxplane.h @@ -37,9 +37,9 @@ #include #include #include +#include class QDBusServiceWatcher; -class QTimer; namespace BlackMisc {