diff --git a/src/Vehicle/VehicleLinkManager.cc b/src/Vehicle/VehicleLinkManager.cc index 92ab09032bb..ebcca0d396f 100644 --- a/src/Vehicle/VehicleLinkManager.cc +++ b/src/Vehicle/VehicleLinkManager.cc @@ -253,7 +253,7 @@ void VehicleLinkManager::_linkDisconnected() _removeLink(link); _updatePrimaryLink(); if (_rgLinkInfo.isEmpty() && !_allLinksRemovedSignalledByCloseVehicle) { - qCDebug(VehicleLog) << "All links removed. Closing down Vehicle."; + qCDebug(VehicleLog) << "signalling allLinksRemoved"; emit allLinksRemoved(_vehicle); } } diff --git a/src/VideoManager/VideoManager.cc b/src/VideoManager/VideoManager.cc index 54b75853e5d..793da2ecd07 100644 --- a/src/VideoManager/VideoManager.cc +++ b/src/VideoManager/VideoManager.cc @@ -540,14 +540,17 @@ bool VideoManager::_updateSettings(VideoReceiver *receiver) void VideoManager::_setActiveVehicle(Vehicle *vehicle) { + qCDebug(VideoManagerLog) << Q_FUNC_INFO << "new vehicle" << vehicle << "old active vehicle" << _activeVehicle; + if (_activeVehicle) { (void) disconnect(_activeVehicle->vehicleLinkManager(), &VehicleLinkManager::communicationLostChanged, this, &VideoManager::_communicationLostChanged); - if (_activeVehicle->cameraManager()) { - MavlinkCameraControl *pCamera = _activeVehicle->cameraManager()->currentCameraInstance(); + auto cameraManager = _activeVehicle->cameraManager(); + if (cameraManager) { + MavlinkCameraControl *pCamera = cameraManager->currentCameraInstance(); if (pCamera) { pCamera->stopStream(); } - (void) disconnect(_activeVehicle->cameraManager(), &QGCCameraManager::streamChanged, this, &VideoManager::_videoSourceChanged); + (void) disconnect(cameraManager, &QGCCameraManager::streamChanged, this, &VideoManager::_videoSourceChanged); } for (VideoReceiver *receiver : std::as_const(_videoReceivers)) {