diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2020-12-06 19:01:21 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2020-12-06 19:01:21 (GMT) |
commit | aa7cbdda718efd7ec41f0ce580847a0d0c31cfd3 (patch) | |
tree | 1216e62254397446f039a6fe26bd12ba65f68321 /plugins/pychrysalide/core.c | |
parent | 333e68541e376a7b86703fad8e917f71c0f243d0 (diff) |
Extended the plugin API to notify several stages of loading.
Diffstat (limited to 'plugins/pychrysalide/core.c')
-rw-r--r-- | plugins/pychrysalide/core.c | 22 |
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(); + + } } |