diff --git a/src/app/application.cpp b/src/app/application.cpp index 9cc1d3558..7c46c61d6 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -72,6 +72,7 @@ #include "base/rss/rss_autodownloader.h" #include "base/rss/rss_session.h" #include "base/scanfoldersmodel.h" +#include "base/search/searchpluginmanager.h" #include "base/settingsstorage.h" #include "base/utils/fs.h" #include "base/utils/misc.h" @@ -514,6 +515,7 @@ int Application::exec(const QStringList ¶ms) new RSS::Session; // create RSS::Session singleton new RSS::AutoDownloader; // create RSS::AutoDownloader singleton + new SearchPluginManager; #ifdef DISABLE_GUI #ifndef DISABLE_WEBUI @@ -708,6 +710,7 @@ void Application::cleanup() delete m_webui; #endif + delete SearchPluginManager::instance(); delete RSS::AutoDownloader::instance(); delete RSS::Session::instance(); diff --git a/src/gui/search/searchwidget.cpp b/src/gui/search/searchwidget.cpp index 43cac5dee..e50c6d62d 100644 --- a/src/gui/search/searchwidget.cpp +++ b/src/gui/search/searchwidget.cpp @@ -132,8 +132,7 @@ SearchWidget::SearchWidget(MainWindow *mainWindow) connect(m_tabStatusChangedMapper, static_cast(&QSignalMapper::mapped) , this, &SearchWidget::tabStatusChanged); - // NOTE: Although SearchManager is Application-wide component now, we still create it the legacy way. - auto *searchManager = new SearchPluginManager; + auto *searchManager = SearchPluginManager::instance(); const auto onPluginChanged = [this]() { fillPluginComboBox();