diff --git a/src/common/pluginmanager.cpp b/src/common/pluginmanager.cpp index 169105404..99b3dbd16 100644 --- a/src/common/pluginmanager.cpp +++ b/src/common/pluginmanager.cpp @@ -15,6 +15,24 @@ PluginManager::PluginManager() //qApp->addLibraryPath(getBaseDirPath()); } +PluginManager::~PluginManager() +{ + for(int ii = 0;ii < meshIOPlug.size();++ii) + delete meshIOPlug[ii]; + for(int ii = 0;ii < meshFilterPlug.size();++ii) + delete meshFilterPlug[ii]; + for(int ii = 0;ii < meshRenderPlug.size();++ii) + delete meshRenderPlug[ii]; + for(int ii = 0;ii < meshDecoratePlug.size();++ii) + delete meshDecoratePlug[ii]; + for(int ii = 0;ii < meshDecoratePlug.size();++ii) + delete meshEditInterfacePlug[ii]; + for(QMap::iterator it = stringXMLFilterMap.begin();it != stringXMLFilterMap.end();++it) + MLXMLPluginInfo::destroyXMLPluginInfo(it.value().xmlInfo); +} + + + void PluginManager::loadPlugins(RichParameterSet& defaultGlobal) { pluginsDir=QDir(getPluginDirPath()); diff --git a/src/common/pluginmanager.h b/src/common/pluginmanager.h index 82acac1de..fef9e7719 100644 --- a/src/common/pluginmanager.h +++ b/src/common/pluginmanager.h @@ -41,6 +41,7 @@ private: MeshDocumentScriptInterface* currentDocInterface; public: PluginManager(); + ~PluginManager(); enum TypeIO{IMPORT,EXPORT}; void loadPlugins(RichParameterSet& defaultGlobal); QString pluginsCode() const;