diff --git a/src/Vehicle/MultiVehicleManager.cc b/src/Vehicle/MultiVehicleManager.cc index fd55a9c5ef39a95c3cd039e80832a9a4ac91d7b3..a60edf1118f0ea1b05c32b790108ead39207b448 100644 --- a/src/Vehicle/MultiVehicleManager.cc +++ b/src/Vehicle/MultiVehicleManager.cc @@ -149,15 +149,17 @@ void MultiVehicleManager::_deleteVehiclePhase2 (void) void MultiVehicleManager::setActiveVehicle(Vehicle* vehicle) { if (vehicle != _activeVehicle) { - // The sequence of signals is very important in order to not leave Qml elements connected - // to a non-existent vehicle. - - // First we must signal that there is no active vehicle available. This will disconnect - // any existing ui from the currently active vehicle. - _activeVehicleAvailable = false; - _parameterReadyVehicleAvailable = false; - emit activeVehicleAvailableChanged(false); - emit parameterReadyVehicleAvailableChanged(false); + if (_activeVehicle) { + // The sequence of signals is very important in order to not leave Qml elements connected + // to a non-existent vehicle. + + // First we must signal that there is no active vehicle available. This will disconnect + // any existing ui from the currently active vehicle. + _activeVehicleAvailable = false; + _parameterReadyVehicleAvailable = false; + emit activeVehicleAvailableChanged(false); + emit parameterReadyVehicleAvailableChanged(false); + } // See explanation in _deleteVehiclePhase1 _vehicleBeingSetActive = vehicle;