Skip to content

Commit

Permalink
fix unload warning (#274)
Browse files Browse the repository at this point in the history
* fix unload warning

Signed-off-by: Chen Lihui <lihui.chen@sony.com>

* adjust order for header file

Signed-off-by: Chen Lihui <lihui.chen@sony.com>

---------

Signed-off-by: Chen Lihui <lihui.chen@sony.com>
(cherry picked from commit 1cd7985)
  • Loading branch information
Chen Lihui authored and mergify[bot] committed May 16, 2023
1 parent 80ab5f2 commit f6a261e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
4 changes: 4 additions & 0 deletions qt_gui_cpp/include/qt_gui_cpp/recursive_plugin_provider.h
Expand Up @@ -36,6 +36,7 @@
#include "composite_plugin_provider.h"
#include "ros_pluginlib_plugin_provider_for_plugin_providers.h"

#include <QList>
#include <QMap>
#include <QString>

Expand All @@ -54,9 +55,12 @@ class RecursivePluginProvider

virtual QMap<QString, QString> discover(QObject* discovery_data);

virtual void shutdown();

private:

RosPluginlibPluginProvider_ForPluginProviders* plugin_provider_;
QList<PluginProvider*> providers_;

};

Expand Down
14 changes: 11 additions & 3 deletions qt_gui_cpp/src/qt_gui_cpp/recursive_plugin_provider.cpp
Expand Up @@ -59,7 +59,6 @@ QMap<QString, QString> RecursivePluginProvider::discover(QObject* discovery_data
}

// instantiate plugins
QList<PluginProvider*> providers;
for (QList<QString>::iterator it = plugin_ids.begin(); it != plugin_ids.end(); it++)
{
try
Expand All @@ -70,7 +69,7 @@ QMap<QString, QString> RecursivePluginProvider::discover(QObject* discovery_data
{
throw std::runtime_error("load returned None");
}
providers.append(instance);
providers_.append(instance);
}
catch (...)
{
Expand All @@ -79,8 +78,17 @@ QMap<QString, QString> RecursivePluginProvider::discover(QObject* discovery_data
}

// delegate discovery through instantiated plugin providers to base class
set_plugin_providers(providers);
set_plugin_providers(providers_);
return CompositePluginProvider::discover(discovery_data);
}

void RecursivePluginProvider::shutdown()
{
for (QList<PluginProvider*>::iterator it = providers_.begin(); it != providers_.end(); it++)
{
plugin_provider_->unload(*it);
}
CompositePluginProvider::shutdown();
}

} // namespace
Expand Up @@ -16,6 +16,7 @@ public:

virtual QMap<QString, QString> discover(QObject* discovery_data);

virtual void shutdown();
};

};

0 comments on commit f6a261e

Please sign in to comment.