diff options
Diffstat (limited to 'src/plugincontainer.cpp')
| -rw-r--r-- | src/plugincontainer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugincontainer.cpp b/src/plugincontainer.cpp index c703a36a..93a66ece 100644 --- a/src/plugincontainer.cpp +++ b/src/plugincontainer.cpp @@ -952,6 +952,16 @@ void PluginContainer::reloadPlugin(QString const& filepath) void PluginContainer::unloadPlugins()
{
+ if (m_Organizer) {
+ // this will clear several structures that can hold on to pointers to
+ // plugins, as well as read the plugin blacklist from the ini file, which
+ // is used in loadPlugins() below to skip plugins
+ //
+ // note that the first thing loadPlugins() does is call unloadPlugins(),
+ // so this makes sure the blacklist is always available
+ m_Organizer->settings().plugins().clearPlugins();
+ }
+
bf::for_each(m_Plugins, [](auto& t) { t.second.clear(); });
bf::for_each(m_AccessPlugins, [](auto& t) { t.second.clear(); });
m_Requirements.clear();
|
