From 089b630538bb17e5313bb78a2cda5c1eccfe4b0c Mon Sep 17 00:00:00 2001 From: Pimpest <82343504+pimpest@users.noreply.github.com> Date: Mon, 30 Mar 2026 12:18:41 +0200 Subject: [PATCH] Switch to shared pointer to hopefully avoid crash --- toid_costmaps/include/toid_costmaps/game_elements_layer.hpp | 4 ++-- toid_costmaps/include/toid_costmaps/rival_layer.hpp | 4 ++-- toid_costmaps/src/game_elements_layer.cpp | 4 ++-- toid_costmaps/src/rival_layer.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/toid_costmaps/include/toid_costmaps/game_elements_layer.hpp b/toid_costmaps/include/toid_costmaps/game_elements_layer.hpp index d550e3a..f589d50 100644 --- a/toid_costmaps/include/toid_costmaps/game_elements_layer.hpp +++ b/toid_costmaps/include/toid_costmaps/game_elements_layer.hpp @@ -40,7 +40,7 @@ public: void initGameElements(); - void active_elements_cb(ActiveElements::UniquePtr msg); + void active_elements_cb(ActiveElements::SharedPtr msg); private: double last_min_x_, last_min_y_, last_max_x_, last_max_y_; @@ -50,7 +50,7 @@ private: std::vector game_elements_; std::vector static_elements_; std::vector extra_elements_; - ActiveElements::UniquePtr active_elements_; + ActiveElements::SharedPtr active_elements_; rclcpp::Subscription::SharedPtr active_elements_sub_; }; diff --git a/toid_costmaps/include/toid_costmaps/rival_layer.hpp b/toid_costmaps/include/toid_costmaps/rival_layer.hpp index d63177e..87c6914 100644 --- a/toid_costmaps/include/toid_costmaps/rival_layer.hpp +++ b/toid_costmaps/include/toid_costmaps/rival_layer.hpp @@ -36,7 +36,7 @@ public: bool isClearable() override { return true; } - void rival_cb(Rivals::UniquePtr msg); + void rival_cb(Rivals::SharedPtr msg); private: double last_min_x_, last_min_y_, last_max_x_, last_max_y_; @@ -45,7 +45,7 @@ private: uint debounce_ = 0; - Rivals::UniquePtr rivals_; + Rivals::SharedPtr rivals_; rclcpp::Subscription::SharedPtr rival_sub_; diff --git a/toid_costmaps/src/game_elements_layer.cpp b/toid_costmaps/src/game_elements_layer.cpp index 05f0357..fb11c92 100644 --- a/toid_costmaps/src/game_elements_layer.cpp +++ b/toid_costmaps/src/game_elements_layer.cpp @@ -44,9 +44,9 @@ void GameElementLayer::deactivate() extra_elements_.clear(); } -void GameElementLayer::active_elements_cb(ActiveElements::UniquePtr msg) +void GameElementLayer::active_elements_cb(ActiveElements::SharedPtr msg) { - active_elements_ = std::move(msg); + active_elements_ = msg; } void GameElementLayer::updateBounds( diff --git a/toid_costmaps/src/rival_layer.cpp b/toid_costmaps/src/rival_layer.cpp index 4ffbb0b..7ae1fbf 100644 --- a/toid_costmaps/src/rival_layer.cpp +++ b/toid_costmaps/src/rival_layer.cpp @@ -36,10 +36,10 @@ void RivalLayer::deactivate() rivals_.reset(); } -void RivalLayer::rival_cb(Rivals::UniquePtr msg) +void RivalLayer::rival_cb(Rivals::SharedPtr msg) { if (msg->point.size() != 0 || debounce_++ > 10) { - rivals_ = std::move(msg); + rivals_ = msg; debounce_ = 0; } }