From d75f05d4c02a5c5feb545cd4ac871a1678f607a0 Mon Sep 17 00:00:00 2001 From: Automatic Release Builder Date: Tue, 27 Oct 2020 19:22:09 +0000 Subject: [PATCH] ATC_mgr fix: clear user aircraft ATC on reposition Avoids a stale controller causing crashes after a reposition. Triggered by C172 tutorials. --- src/ATC/atc_mgr.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ATC/atc_mgr.cxx b/src/ATC/atc_mgr.cxx index 52e731790..d091a9b1c 100644 --- a/src/ATC/atc_mgr.cxx +++ b/src/ATC/atc_mgr.cxx @@ -256,11 +256,15 @@ void FGATCManager::reposition() // available again. postinit() will recompute a new value if required FGAIManager* aiManager = globals->get_subsystem(); auto userAircraft = aiManager->getUserAircraft(); - if (userAircraft && userAircraft->GetFlightPlan()) { - auto userAIFP = userAircraft->GetFlightPlan(); - userAIFP->setGate({}); // clear any assignment + if (userAircraft) { + if (userAircraft->GetFlightPlan()) { + auto userAIFP = userAircraft->GetFlightPlan(); + userAIFP->setGate({}); // clear any assignment + } + + userAircraft->clearATCController(); } - + postinit(); // critical for position-init logic }