diff --git a/src/plugins/simulator/fsxcommon/simconnectobject.cpp b/src/plugins/simulator/fsxcommon/simconnectobject.cpp index 1a6982a8a..6409e1557 100644 --- a/src/plugins/simulator/fsxcommon/simconnectobject.cpp +++ b/src/plugins/simulator/fsxcommon/simconnectobject.cpp @@ -27,6 +27,10 @@ namespace BlackSimPlugin m_interpolator(QSharedPointer::create(aircraft.getCallsign())) { m_interpolator->attachLogger(logger); + + // if available set situation and parts + if (aircraft.isPartsSynchronized()) { this->addAircraftParts(aircraft.getParts()); } + if (aircraft.getSituation().hasValidTimestamp()) { this->addAircraftSituation(aircraft.getSituation()); } } void CSimConnectObject::addAircraftParts(const CAircraftParts &parts) diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp index f49965172..c4157879f 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp +++ b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp @@ -858,8 +858,7 @@ namespace BlackSimPlugin // we will request a new aircraft by request ID, later we will receive its object id // so far this object id is -1 addedAircraft.setRendered(false); - CSimConnectObject simObject(addedAircraft, requestId, &m_interpolationLogger); - if (addedAircraft.isPartsSynchronized()) { simObject.addAircraftParts(addedAircraft.getParts()); } + const CSimConnectObject simObject(addedAircraft, requestId, &m_interpolationLogger); m_simConnectObjects.insert(callsign, simObject); adding = true; }