diff options
Diffstat (limited to 'src/plugins/plugin.c')
-rw-r--r-- | src/plugins/plugin.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/plugin.c b/src/plugins/plugin.c index e563817..b96decd 100644 --- a/src/plugins/plugin.c +++ b/src/plugins/plugin.c @@ -669,8 +669,10 @@ static void g_plugin_module_init_gclass(GPluginModuleClass *class, GModule *modu switch (action) { case PGA_GUI_THEME: +#ifdef INCLUDE_GTK_SUPPORT load_plugin_symbol(module, "chrysalide_plugin_include_theme", &class->include_theme); +#endif break; default: @@ -686,13 +688,17 @@ static void g_plugin_module_init_gclass(GPluginModuleClass *class, GModule *modu switch (action) { case PGA_PANEL_CREATION: +#ifdef INCLUDE_GTK_SUPPORT load_plugin_symbol(module, "chrysalide_plugin_on_panel_creation", &class->notify_panel); +#endif break; case PGA_PANEL_DOCKING: +#ifdef INCLUDE_GTK_SUPPORT load_plugin_symbol(module, "chrysalide_plugin_on_panel_docking", &class->notify_docking); +#endif break; default: @@ -814,6 +820,15 @@ char *g_plugin_module_get_modname(const GPluginModule *plugin) result = class->get_modname(plugin); + /** + * Tente une opération de la dernière chance. + * + * Dans le cas d'un module Python, la fonction de classe peut ne pas + * trouver de support si l'extension Python n'est pas au point. + */ + if (result == NULL && class->get_modname != _g_plugin_module_get_modname) + result = _g_plugin_module_get_modname(plugin); + return result; } @@ -1423,6 +1438,9 @@ gpointer g_plugin_module_build_type_instance(GPluginModule *plugin, PluginAction } +#ifdef INCLUDE_GTK_SUPPORT + + /****************************************************************************** * * * Paramètres : plugin = greffon à manipuler. * @@ -1501,6 +1519,9 @@ void g_plugin_module_notify_panel_docking(const GPluginModule *plugin, PluginAct } +#endif + + /****************************************************************************** * * * Paramètres : plugin = greffon à manipuler. * |