From 8fb48790bd282d2e856e6430e98a49d05735b64c Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Mon, 8 May 2017 11:03:10 +0200
Subject: [PATCH] Fix error on startup when no plugin loaded

---
 src/sakia/data/files/plugins.py    | 11 ++++++-----
 src/sakia/gui/main_window/model.py |  4 +++-
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/sakia/data/files/plugins.py b/src/sakia/data/files/plugins.py
index 62ab7b6d..edb53d65 100644
--- a/src/sakia/data/files/plugins.py
+++ b/src/sakia/data/files/plugins.py
@@ -51,12 +51,13 @@ class PluginsDirectory:
                 try:
                     plugin_module = importlib.import_module(module_name)
                     self.with_plugin = Plugin(plugin_module.PLUGIN_NAME,
-                                               plugin_module.PLUGIN_DESCRIPTION,
-                                               plugin_module.PLUGIN_VERSION,
-                                               True,
-                                               plugin_module,
-                                               with_plugin)
+                                              plugin_module.PLUGIN_DESCRIPTION,
+                                              plugin_module.PLUGIN_VERSION,
+                                              True,
+                                              plugin_module,
+                                              with_plugin)
                 except ImportError as e:
+                    self.with_plugin = Plugin(module_name, "", "", False, None, with_plugin)
                     self._logger.debug(str(e) + " with sys.path " + str(sys.path))
         except OSError as e:
             self._logger.debug(str(e))
diff --git a/src/sakia/gui/main_window/model.py b/src/sakia/gui/main_window/model.py
index b2e86641..01b0938b 100644
--- a/src/sakia/gui/main_window/model.py
+++ b/src/sakia/gui/main_window/model.py
@@ -11,6 +11,8 @@ class MainWindowModel(QObject):
         self.app = app
 
     def load_plugins(self, main_window):
-        for plugin in self.app.plugins_dir.plugins + [self.app.plugins_dir.with_plugin]:
+        for plugin in self.app.plugins_dir.plugins:
             if plugin.imported:
                 plugin.module.plugin_exec(self.app, main_window)
+        if self.app.plugins_dir.with_plugin:
+            self.app.plugins_dir.with_plugin.module.plugin_exec(self.app, main_window)
-- 
GitLab