prevent factories from double deletion

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1915 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 16 years ago
parent 22b498a626
commit 13f949c054

@ -108,10 +108,18 @@ AmPlugIn::AmPlugIn()
{
}
static std::set<AmPluginFactory*> deleted_factories;
static std::set<string> deleted_factories_names;
static void delete_plugin_factory(std::pair<string, AmPluginFactory*> pf)
{
DBG("deleting plug-in factory: %s\n", pf.first.c_str());
delete pf.second;
if ((deleted_factories.find(pf.second) == deleted_factories.end()) &&
(deleted_factories_names.find(pf.first) == deleted_factories_names.end())) {
DBG("deleting plug-in factory: %s\n", pf.first.c_str());
deleted_factories.insert(pf.second);
deleted_factories_names.insert(pf.first);
delete pf.second;
}
}
AmPlugIn::~AmPlugIn()

Loading…
Cancel
Save