Browse Source

Properly uninitialize the plugin framework.

Sascha Zelzer 14 years ago
parent
commit
429f1a0905

+ 2 - 2
Libs/PluginFramework/ctkPluginFrameworkContext.cpp

@@ -85,8 +85,8 @@
   {
     log() << "uninit";
 
-    //ctkPluginFrameworkPrivate* const systemPluginPrivate = systemPlugin.d_func();
-    //systemPluginPrivate->uninitSystemBundle();
+    ctkPluginFrameworkPrivate* const systemPluginPrivate = systemPlugin.d_func();
+    systemPluginPrivate->uninitSystemPlugin();
 
     plugins->clear();
     delete plugins;

+ 4 - 0
Libs/PluginFramework/ctkPluginFrameworkPrivate.cpp

@@ -47,6 +47,10 @@ void ctkPluginFrameworkPrivate::init()
 void ctkPluginFrameworkPrivate::initSystemPlugin()
 {
   this->pluginContext = new ctkPluginContext(this);
+}
 
+void ctkPluginFrameworkPrivate::uninitSystemPlugin()
+{
+  this->pluginContext->d_func()->invalidate();
 }
 

+ 2 - 0
Libs/PluginFramework/ctkPluginFrameworkPrivate_p.h

@@ -42,6 +42,8 @@
 
     void initSystemPlugin();
 
+    void uninitSystemPlugin();
+
     QHash<QString, QString> systemHeaders;
 
   };