From 6bb3c48972d172fec244afae08a905e2246d9cda Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 8 Mar 2019 06:50:14 +0100 Subject: Use smart pointers over manual memory management --- src/server/BlockFactory.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/server/BlockFactory.cpp') diff --git a/src/server/BlockFactory.cpp b/src/server/BlockFactory.cpp index 105d60cf..02be5159 100644 --- a/src/server/BlockFactory.cpp +++ b/src/server/BlockFactory.cpp @@ -46,11 +46,6 @@ BlockFactory::BlockFactory(ingen::World& world) BlockFactory::~BlockFactory() { - for (auto& p : _plugins) { - delete p.second; - } - - _plugins.clear(); } const BlockFactory::Plugins& @@ -64,12 +59,12 @@ BlockFactory::plugins() return _plugins; } -std::set +std::set> BlockFactory::refresh() { // Record current plugins, and those that are currently zombies - const Plugins old_plugins(_plugins); - std::set zombies; + const Plugins old_plugins(_plugins); + std::set> zombies; for (const auto& p : _plugins) { if (p.second->is_zombie()) { zombies.insert(p.second); @@ -80,7 +75,7 @@ BlockFactory::refresh() load_lv2_plugins(); // Add any new plugins to response - std::set new_plugins; + std::set> new_plugins; for (const auto& p : _plugins) { auto o = old_plugins.find(p.first); if (o == old_plugins.end()) { @@ -103,7 +98,7 @@ BlockFactory::plugin(const URI& uri) { load_plugin(uri); const Plugins::const_iterator i = _plugins.find(uri); - return ((i != _plugins.end()) ? i->second : nullptr); + return ((i != _plugins.end()) ? i->second.get() : nullptr); } void -- cgit v1.2.1