diff --git a/src/client/plugin_manager_interface.cpp b/src/client/plugin_manager_interface.cpp index 3e28ac6ca18f6529375ae2c91cc8e49e6d94b1a9..b2073d996c6234be3f7fc9235c65cf100c5da779 100644 --- a/src/client/plugin_manager_interface.cpp +++ b/src/client/plugin_manager_interface.cpp @@ -28,13 +28,21 @@ namespace DRing { bool loadPlugin(const std::string& path) { - return jami::Manager::instance().getJamiPluginManager().loadPlugin(path); + bool status = jami::Manager::instance().getJamiPluginManager().loadPlugin(path); + + jami::Manager::instance().pluginPreferences.saveStateLoadedPlugins(path, status); + jami::Manager::instance().saveConfig(); + return status; } bool unloadPlugin(const std::string& path) { - return jami::Manager::instance().getJamiPluginManager().unloadPlugin(path); + bool status = jami::Manager::instance().getJamiPluginManager().unloadPlugin(path); + + jami::Manager::instance().pluginPreferences.saveStateLoadedPlugins(path, false); + jami::Manager::instance().saveConfig(); + return status; } void diff --git a/src/plugin/jamipluginmanager.cpp b/src/plugin/jamipluginmanager.cpp index 7e8db542b6028decd00ccc57074d7fc743171b78..8c2e07ad5526f8f27e6afbae3a61a370916d5877 100644 --- a/src/plugin/jamipluginmanager.cpp +++ b/src/plugin/jamipluginmanager.cpp @@ -302,8 +302,6 @@ JamiPluginManager::loadPlugin(const std::string& rootPath) bool status = pm_.load(getPluginDetails(rootPath).at("soPath")); JAMI_INFO() << "PLUGIN: load status - " << status; - jami::Manager::instance().pluginPreferences.saveStateLoadedPlugins(rootPath, status); - jami::Manager::instance().saveConfig(); return status; } catch (const std::exception& e) { @@ -322,9 +320,6 @@ JamiPluginManager::unloadPlugin(const std::string& rootPath) bool status = pm_.unload(getPluginDetails(rootPath).at("soPath")); JAMI_INFO() << "PLUGIN: unload status - " << status; - jami::Manager::instance().pluginPreferences.saveStateLoadedPlugins(rootPath, false); - jami::Manager::instance().saveConfig(); - return status; } catch (const std::exception& e) { JAMI_ERR() << e.what();