Switch to shared pointer to hopefully avoid crash

This commit is contained in:
2026-03-30 12:18:41 +02:00
parent 3d8dd3127d
commit 089b630538
4 changed files with 8 additions and 8 deletions

View File

@@ -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<GameElement> game_elements_;
std::vector<GameElement> static_elements_;
std::vector<std::string> extra_elements_;
ActiveElements::UniquePtr active_elements_;
ActiveElements::SharedPtr active_elements_;
rclcpp::Subscription<ActiveElements>::SharedPtr active_elements_sub_;
};

View File

@@ -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<Rivals>::SharedPtr rival_sub_;

View File

@@ -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(

View File

@@ -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;
}
}