From d5a22dfb15f2396d650c38701bd804cb7390f798 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Thu, 20 Feb 2020 07:48:26 -0500 Subject: [PATCH] Eliminate last use of PluginManager by ModuleManager, breaking cycle --- src/ModuleManager.cpp | 17 ----------------- src/ModuleManager.h | 1 - src/PluginManager.cpp | 4 +++- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/src/ModuleManager.cpp b/src/ModuleManager.cpp index 7fa840bb7..799dfdfe3 100755 --- a/src/ModuleManager.cpp +++ b/src/ModuleManager.cpp @@ -31,7 +31,6 @@ i.e. an alternative to the usual interface, for Audacity. #include "FileNames.h" #include "MemoryX.h" -#include "PluginManager.h" #include "audacity/PluginInterface.h" @@ -488,22 +487,6 @@ void ModuleInterfaceDeleter::operator() (ModuleInterface *pInterface) const } } -PluginPaths ModuleManager::FindPluginsForProvider(const PluginID & providerID, - const PluginPath & path) -{ - // Instantiate if it hasn't already been done - if (mDynModules.find(providerID) == mDynModules.end()) - { - // If it couldn't be created, just give up and return an empty list - if (!CreateProviderInstance(providerID, path)) - { - return {}; - } - } - - return mDynModules[providerID]->FindPluginPaths(PluginManager::Get()); -} - bool ModuleManager::RegisterEffectPlugin(const PluginID & providerID, const PluginPath & path, TranslatableString &errMsg) { errMsg = {}; diff --git a/src/ModuleManager.h b/src/ModuleManager.h index 20197a787..8e6107f2a 100644 --- a/src/ModuleManager.h +++ b/src/ModuleManager.h @@ -103,7 +103,6 @@ public: auto Providers() const { return make_iterator_range(mDynModules.cbegin(), mDynModules.cend()); } - PluginPaths FindPluginsForProvider(const PluginID & provider, const PluginPath & path); bool RegisterEffectPlugin(const PluginID & provider, const PluginPath & path, TranslatableString &errMsg); diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index 64bf985cd..b491ee733 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -1382,7 +1382,9 @@ void PluginManager::CheckForUpdates(bool bFast) else { // Collect plugin paths - auto paths = mm.FindPluginsForProvider(plugID, plugPath); + PluginPaths paths; + if (auto provider = mm.CreateProviderInstance( plugID, plugPath ) ) + paths = provider->FindPluginPaths( *this ); for (size_t i = 0, cnt = paths.size(); i < cnt; i++) { wxString path = paths[i].BeforeFirst(wxT(';'));;