diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-06-11 13:23:03 +0200 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-06-11 13:23:03 +0200 |
| commit | 5d0b6b0eab489e2010f6286647864889cae7422a (patch) | |
| tree | 63b6d199d7424c6a0e84611bf50a68c255c36127 /src/plugincontainer.cpp | |
| parent | 2285ed32af2e7e89dfaaf9cdf75d1cc9b9b730d9 (diff) | |
Manually unload plugins to avoid issue with automatic unloading.
Diffstat (limited to 'src/plugincontainer.cpp')
| -rw-r--r-- | src/plugincontainer.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugincontainer.cpp b/src/plugincontainer.cpp index caab2115..d989fac9 100644 --- a/src/plugincontainer.cpp +++ b/src/plugincontainer.cpp @@ -28,6 +28,10 @@ PluginContainer::PluginContainer(OrganizerCore *organizer) {
}
+PluginContainer::~PluginContainer() {
+ m_Organizer = nullptr;
+ unloadPlugins();
+}
void PluginContainer::setUserInterface(IUserInterface *userInterface, QWidget *widget)
{
@@ -213,7 +217,9 @@ void PluginContainer::unloadPlugins() }
// disconnect all slots before unloading plugins so plugins don't have to take care of that
- m_Organizer->disconnectPlugins();
+ if (m_Organizer != nullptr) {
+ m_Organizer->disconnectPlugins();
+ }
bf::for_each(m_Plugins, clearPlugins());
|
