From da09a686024b0ccc69c30473bead1abe79eb89df Mon Sep 17 00:00:00 2001
From: agsantos <aline.gondimsantos@savoirfairelinux.com>
Date: Fri, 16 Oct 2020 17:02:44 -0400
Subject: [PATCH] plugins: fix saveConfig logic

Change-Id: Iebb5804098699ca206a506cf8e1362faf1ef1aff
---
 src/client/plugin_manager_interface.cpp | 12 ++++++++++--
 src/plugin/jamipluginmanager.cpp        |  5 -----
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/client/plugin_manager_interface.cpp b/src/client/plugin_manager_interface.cpp
index 3e28ac6ca1..b2073d996c 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 7e8db542b6..8c2e07ad55 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();
-- 
GitLab