From 4dfefcfcc16021501d180c157fd7bbda67a45c2a Mon Sep 17 00:00:00 2001 From: olesya Date: Sun, 19 Jan 2025 15:54:59 +0000 Subject: [PATCH] Bug with creating a custom subscriber was fixed. Signed-off-by: olesya --- rclcpp/include/rclcpp/create_subscription.hpp | 5 ++++- rclcpp/include/rclcpp/node_impl.hpp | 3 ++- rclcpp/include/rclcpp/subscription_factory.hpp | 7 ++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/rclcpp/include/rclcpp/create_subscription.hpp b/rclcpp/include/rclcpp/create_subscription.hpp index 5b84930ff7..08129a2472 100644 --- a/rclcpp/include/rclcpp/create_subscription.hpp +++ b/rclcpp/include/rclcpp/create_subscription.hpp @@ -119,7 +119,10 @@ create_subscription( subscription_topic_stats->set_publisher_timer(timer); } - auto factory = rclcpp::create_subscription_factory( + auto factory = rclcpp::create_subscription_factory( std::forward(callback), options, msg_mem_strat, diff --git a/rclcpp/include/rclcpp/node_impl.hpp b/rclcpp/include/rclcpp/node_impl.hpp index 086c2bb17c..83ec9ffe7c 100644 --- a/rclcpp/include/rclcpp/node_impl.hpp +++ b/rclcpp/include/rclcpp/node_impl.hpp @@ -96,7 +96,8 @@ Node::create_subscription( const SubscriptionOptionsWithAllocator & options, typename MessageMemoryStrategyT::SharedPtr msg_mem_strat) { - return rclcpp::create_subscription( + return rclcpp::create_subscription< + MessageT, CallbackT, AllocatorT, SubscriptionT, MessageMemoryStrategyT>( *this, extend_name_with_sub_namespace(topic_name, this->get_sub_namespace()), qos, diff --git a/rclcpp/include/rclcpp/subscription_factory.hpp b/rclcpp/include/rclcpp/subscription_factory.hpp index a1727eab5a..708191d495 100644 --- a/rclcpp/include/rclcpp/subscription_factory.hpp +++ b/rclcpp/include/rclcpp/subscription_factory.hpp @@ -101,10 +101,7 @@ create_subscription_factory( const rclcpp::QoS & qos ) -> rclcpp::SubscriptionBase::SharedPtr { - using rclcpp::Subscription; - using rclcpp::SubscriptionBase; - - auto sub = Subscription::make_shared( + auto sub = std::make_shared( node_base, rclcpp::get_message_type_support_handle(), topic_name, @@ -117,7 +114,7 @@ create_subscription_factory( // require this->shared_from_this() which cannot be called from // the constructor. sub->post_init_setup(node_base, qos, options); - auto sub_base_ptr = std::dynamic_pointer_cast(sub); + auto sub_base_ptr = std::dynamic_pointer_cast(sub); return sub_base_ptr; } };