summaryrefslogtreecommitdiff
path: root/plugins/pychrysalide
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pychrysalide')
-rw-r--r--plugins/pychrysalide/pychrysa.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/plugins/pychrysalide/pychrysa.c b/plugins/pychrysalide/pychrysa.c
index dd6f576..200bdaa 100644
--- a/plugins/pychrysalide/pychrysa.c
+++ b/plugins/pychrysalide/pychrysa.c
@@ -585,7 +585,22 @@ G_MODULE_EXPORT bool chrysalide_plugin_init(GPluginModule *plugin)
_chrysalide_module = PyImport_ImportModule("pychrysalide");
- result = load_python_plugins(plugin);
+ /**
+ * Pour mémoire, une situation concrête conduisant à un échec :
+ * le paquet python3-gi-dbg n'est pas installé alors que le
+ * programme est compilé en mode débogage.
+ *
+ * Dans ce cas, pygobject_init(-1, -1, -1) échoue, et Py_Initialize()
+ * le laisse rien filtrer...
+ *
+ * En mode autonome, le shell Python remonte bien l'erreur par contre.
+ */
+
+ if (_chrysalide_module == NULL)
+ result = false;
+
+ else
+ result = load_python_plugins(plugin);
PyEval_ReleaseLock();