diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 7ea27f37e8cbd509be78fe29effa5bf8e12fd9c8..b1c4e824e133c774e4fdeae93ab1e26316fe4f6b 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -166,27 +166,9 @@ Vehicle::~Vehicle() { delete _missionManager; _missionManager = NULL; - - // Stop listening for system messages - disconnect(UASMessageHandler::instance(), &UASMessageHandler::textMessageCountChanged, this, &Vehicle::_handleTextMessage); - // Disconnect any previously connected active MAV - disconnect(_mav, SIGNAL(attitudeChanged (UASInterface*, double,double,double,quint64)), this, SLOT(_updateAttitude(UASInterface*, double, double, double, quint64))); - disconnect(_mav, SIGNAL(attitudeChanged (UASInterface*, int,double,double,double,quint64)), this, SLOT(_updateAttitude(UASInterface*,int,double, double, double, quint64))); - disconnect(_mav, SIGNAL(speedChanged (UASInterface*, double, double, quint64)), this, SLOT(_updateSpeed(UASInterface*, double, double, quint64))); - disconnect(_mav, SIGNAL(altitudeChanged (UASInterface*, double, double, double, double, quint64)), this, SLOT(_updateAltitude(UASInterface*, double, double, double, double, quint64))); - disconnect(_mav, SIGNAL(navigationControllerErrorsChanged (UASInterface*, double, double, double)), this, SLOT(_updateNavigationControllerErrors(UASInterface*, double, double, double))); - disconnect(_mav, SIGNAL(statusChanged (UASInterface*,QString,QString)), this, SLOT(_updateState(UASInterface*,QString,QString))); - disconnect(_mav, &UASInterface::NavigationControllerDataChanged, this, &Vehicle::_updateNavigationControllerData); - disconnect(_mav, &UASInterface::heartbeatTimeout, this, &Vehicle::_heartbeatTimeout); - disconnect(_mav, &UASInterface::batteryChanged, this, &Vehicle::_updateBatteryRemaining); - disconnect(_mav, &UASInterface::batteryConsumedChanged, this, &Vehicle::_updateBatteryConsumedChanged); - disconnect(_mav, &UASInterface::nameChanged, this, &Vehicle::_updateName); - disconnect(_mav, &UASInterface::systemTypeSet, this, &Vehicle::_setSystemType); - disconnect(_mav, &UASInterface::localizationChanged, this, &Vehicle::_setSatLoc); - UAS* pUas = dynamic_cast(_mav); - if(pUas) { - disconnect(pUas, &UAS::satelliteCountChanged, this, &Vehicle::_setSatelliteCount); - } + + delete _mav; + _mav = NULL; } void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t message)