summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-10-03 23:22:11 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-10-03 23:22:11 (GMT)
commit39d9bf72c549b2b601e9c78aca7a855cd5af9162 (patch)
tree91381bc2e218214867bb555f560dd1c4d95ffc26 /plugins
parente7a46981a76c2d60b8485d06ffc408623276a091 (diff)
Handled missing runtime librairies for Python GObject bindings.
Diffstat (limited to 'plugins')
-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();