diff --git a/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.cpp b/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.cpp index a8a5279d..83f8bd2d 100644 --- a/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.cpp +++ b/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.cpp @@ -100,15 +100,12 @@ std::shared_ptr NodeletPluginProvider::create_plugin( init_loader(); std::string nodelet_name = std::format("{}_{}", lookup_name, plugin_context->serialNumber()); - instance_.reset(); - instance_ = + std::shared_ptr instance = qt_gui_cpp::RosPluginlibPluginProvider::create_plugin(lookup_name); - instance_->passInNode(node_); - instances_[&*instance_] = nodelet_name.c_str(); + instance->passInNode(node_); + instances_[instance.get()] = nodelet_name.c_str(); - std::shared_ptr instance = instance_; - instance_.reset(); return instance; } diff --git a/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.hpp b/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.hpp index bf5b3c74..9efab5b0 100644 --- a/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.hpp +++ b/rqt_gui_cpp/src/rqt_gui_cpp/nodelet_plugin_provider.hpp @@ -68,8 +68,6 @@ class NodeletPluginProvider const QString & plugin_id, qt_gui_cpp::PluginContext * plugin_context, qt_gui_cpp::Plugin * plugin) override; - std::shared_ptr instance_; - QMap instances_; bool loader_initialized_; diff --git a/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.cpp b/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.cpp index 5808cf8f..84faa8d3 100644 --- a/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.cpp +++ b/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.cpp @@ -32,6 +32,8 @@ #include "roscpp_plugin_provider.hpp" +#include + #include "nodelet_plugin_provider.hpp" #include diff --git a/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.hpp b/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.hpp index f67a9507..f5df460b 100644 --- a/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.hpp +++ b/rqt_gui_cpp/src/rqt_gui_cpp/roscpp_plugin_provider.hpp @@ -33,8 +33,6 @@ #ifndef RQT_GUI_CPP__ROSCPP_PLUGIN_PROVIDER_HPP_ #define RQT_GUI_CPP__ROSCPP_PLUGIN_PROVIDER_HPP_ -#include - #include namespace rqt_gui_cpp