From 7d3c055200bcad0d05f42e27ddfac8b553f11da1 Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Tue, 9 Jun 2015 00:36:57 -0500 Subject: [PATCH] Fix for bug #1017 --- src/PluginManager.cpp | 11 +++++++---- src/PluginManager.h | 2 +- src/effects/LoadEffects.cpp | 6 +++--- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index 611f12ae5..be4deaf50 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -1346,14 +1346,17 @@ void PluginDescriptor::SetImporterExtensions(const wxArrayString & extensions) // // ============================================================================ -bool PluginManager::IsPluginRegistered(const PluginID & ID) +bool PluginManager::IsPluginRegistered(const wxString & path) { - if (mPlugins.find(ID) == mPlugins.end()) + for (PluginMap::iterator iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) { - return false; + if (iter->second.GetPath().IsSameAs(path)) + { + return true; + } } - return true; + return false; } const PluginID & PluginManager::RegisterPlugin(ModuleInterface *module) diff --git a/src/PluginManager.h b/src/PluginManager.h index 4c18c2f0d..5b7b61f83 100644 --- a/src/PluginManager.h +++ b/src/PluginManager.h @@ -172,7 +172,7 @@ public: // PluginManagerInterface implementation - virtual bool IsPluginRegistered(const PluginID & ID); + virtual bool IsPluginRegistered(const wxString & path); virtual const PluginID & RegisterPlugin(ModuleInterface *module); virtual const PluginID & RegisterPlugin(ModuleInterface *provider, EffectIdentInterface *effect); diff --git a/src/effects/LoadEffects.cpp b/src/effects/LoadEffects.cpp index fc171765b..614f47f14 100644 --- a/src/effects/LoadEffects.cpp +++ b/src/effects/LoadEffects.cpp @@ -288,11 +288,11 @@ bool BuiltinEffectsModule::AutoRegisterPlugins(PluginManagerInterface & pm) { for (size_t i = 0; i < WXSIZEOF(kEffectNames); i++) { - PluginID ID(wxString(BUILTIN_EFFECT_PREFIX) + kEffectNames[i]); + wxString path(wxString(BUILTIN_EFFECT_PREFIX) + kEffectNames[i]); - if (!pm.IsPluginRegistered(ID)) + if (!pm.IsPluginRegistered(path)) { - RegisterPlugin(pm, ID); + RegisterPlugin(pm, path); } }