diff --git a/src/plugins/PluginSystem.cpp b/src/plugins/PluginSystem.cpp index 5c7cf10d..bfa3710f 100644 --- a/src/plugins/PluginSystem.cpp +++ b/src/plugins/PluginSystem.cpp @@ -196,6 +196,11 @@ void CPluginSystem::unloadAllPlugins() { } void CPluginSystem::updateConfigPlugins(const std::vector& plugins, bool& changed) { + if (m_lastConfigPlugins == plugins) + return; + + m_lastConfigPlugins = plugins; + // unload all plugins that are no longer present for (auto const& p : m_loadedPlugins | std::views::reverse) { if (!p->m_loadedWithConfig || std::ranges::find(plugins, p->m_path) != plugins.end()) diff --git a/src/plugins/PluginSystem.hpp b/src/plugins/PluginSystem.hpp index bbde2740..816569d2 100644 --- a/src/plugins/PluginSystem.hpp +++ b/src/plugins/PluginSystem.hpp @@ -46,7 +46,7 @@ class CPluginSystem { private: std::vector> m_loadedPlugins; - + std::vector m_lastConfigPlugins; jmp_buf m_pluginFaultJumpBuf; std::expected loadPluginInternal(const std::string& path);