diff --git a/src/lib/CollisionAvoidance/CollisionAvoidance.cpp b/src/lib/CollisionAvoidance/CollisionAvoidance.cpp index 1afc2f5c2687bbe8acf53fc34fbf3fc725b13a6c..9b712cc553b6bd47b9ef67b34776592b62cf7d65 100644 --- a/src/lib/CollisionAvoidance/CollisionAvoidance.cpp +++ b/src/lib/CollisionAvoidance/CollisionAvoidance.cpp @@ -46,6 +46,16 @@ CollisionAvoidance::CollisionAvoidance() : } +CollisionAvoidance::~CollisionAvoidance(){ + //unadvertise publishers + if (_constraints_pub != nullptr) { + orb_unadvertise(_constraints_pub); + } + if (_mavlink_log_pub != nullptr) { + orb_unadvertise(_mavlink_log_pub); + } +} + bool CollisionAvoidance::initializeSubscriptions(SubscriptionArray &subscription_array) { if (!subscription_array.get(ORB_ID(obstacle_distance), _sub_obstacle_distance)) { diff --git a/src/lib/CollisionAvoidance/CollisionAvoidance.hpp b/src/lib/CollisionAvoidance/CollisionAvoidance.hpp index 39a05c9bd0c8a630eb06b98cde16e0de9ce1eb71..66a72d75d4d3def76aa0b37fd0e123a79061e22e 100644 --- a/src/lib/CollisionAvoidance/CollisionAvoidance.hpp +++ b/src/lib/CollisionAvoidance/CollisionAvoidance.hpp @@ -63,7 +63,7 @@ class CollisionAvoidance : public ModuleParams public: CollisionAvoidance(); - ~CollisionAvoidance() = default; + ~CollisionAvoidance(); /** * Initialize the uORB subscriptions using an array