summaryrefslogtreecommitdiff
path: root/plugins/pychrysalide/core.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2020-12-06 19:01:21 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2020-12-06 19:01:21 (GMT)
commitaa7cbdda718efd7ec41f0ce580847a0d0c31cfd3 (patch)
tree1216e62254397446f039a6fe26bd12ba65f68321 /plugins/pychrysalide/core.c
parent333e68541e376a7b86703fad8e917f71c0f243d0 (diff)
Extended the plugin API to notify several stages of loading.
Diffstat (limited to 'plugins/pychrysalide/core.c')
-rw-r--r--plugins/pychrysalide/core.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/plugins/pychrysalide/core.c b/plugins/pychrysalide/core.c
index 1ba738d..94fb899 100644
--- a/plugins/pychrysalide/core.c
+++ b/plugins/pychrysalide/core.c
@@ -70,7 +70,7 @@
DEFINE_CHRYSALIDE_CONTAINER_PLUGIN("PyChrysalide", "Chrysalide bindings to Python",
PACKAGE_VERSION, CHRYSALIDE_WEBSITE("api/python/pychrysalide"),
NO_REQ, AL(PGA_PLUGIN_INIT, PGA_PLUGIN_EXIT,
- PGA_NATIVE_LOADED, PGA_TYPE_BUILDING));
+ PGA_NATIVE_PLUGINS_LOADED, PGA_TYPE_BUILDING));
/* Note la nature du chargement */
@@ -875,20 +875,24 @@ G_MODULE_EXPORT void chrysalide_plugin_exit(GPluginModule *plugin)
* *
******************************************************************************/
-G_MODULE_EXPORT void chrysalide_plugin_on_native_loaded(GPluginModule *plugin, PluginAction action)
+G_MODULE_EXPORT void chrysalide_plugin_on_plugins_loaded(GPluginModule *plugin, PluginAction action)
{
PyThreadState *tstate; /* Contexte d'environnement */
- if (!_standalone)
+ if (action == PGA_NATIVE_PLUGINS_LOADED)
{
- tstate = get_pychrysalide_main_tstate();
- PyEval_RestoreThread(tstate);
- }
+ if (!_standalone)
+ {
+ tstate = get_pychrysalide_main_tstate();
+ PyEval_RestoreThread(tstate);
+ }
- load_python_plugins(plugin);
+ load_python_plugins(plugin);
- if (!_standalone)
- PyEval_SaveThread();
+ if (!_standalone)
+ PyEval_SaveThread();
+
+ }
}