From 75f7509e1ae86dacb3ddb8b262484c18800ead25 Mon Sep 17 00:00:00 2001 From: bijoua29 <73511637+bijoua29@users.noreply.github.com> Date: Mon, 13 Oct 2025 10:41:40 -0700 Subject: [PATCH] Fix severe warning from class loader in servo (#3577) * Add class loader member variable instead of creating on stack * Fix formatting to satisfy clang --------- Co-authored-by: AndyZe Co-authored-by: Nathan Brooks (cherry picked from commit 92654dd1b339a4d4963c89cdba3289d2b60ed52e) --- moveit_ros/moveit_servo/include/moveit_servo/servo.hpp | 3 +++ moveit_ros/moveit_servo/src/servo.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/moveit_ros/moveit_servo/include/moveit_servo/servo.hpp b/moveit_ros/moveit_servo/include/moveit_servo/servo.hpp index 88a8f91665..28d5627cee 100644 --- a/moveit_ros/moveit_servo/include/moveit_servo/servo.hpp +++ b/moveit_ros/moveit_servo/include/moveit_servo/servo.hpp @@ -229,6 +229,9 @@ class Servo std::atomic collision_velocity_scale_ = 1.0; std::unique_ptr collision_monitor_; + // Plugin loader + std::unique_ptr> smoother_loader_; + // Pointer to the (optional) smoothing plugin. pluginlib::UniquePtr smoother_ = nullptr; diff --git a/moveit_ros/moveit_servo/src/servo.cpp b/moveit_ros/moveit_servo/src/servo.cpp index c62488660f..22917e7bb5 100644 --- a/moveit_ros/moveit_servo/src/servo.cpp +++ b/moveit_ros/moveit_servo/src/servo.cpp @@ -139,9 +139,9 @@ void Servo::setSmoothingPlugin() // Load the smoothing plugin try { - pluginlib::ClassLoader smoothing_loader( + smoother_loader_ = std::make_unique>( "moveit_core", "online_signal_smoothing::SmoothingBaseClass"); - smoother_ = smoothing_loader.createUniqueInstance(servo_params_.smoothing_filter_plugin_name); + smoother_ = smoother_loader_->createUniqueInstance(servo_params_.smoothing_filter_plugin_name); } catch (pluginlib::PluginlibException& ex) {