--- a/gplugin/gplugin-manager.c Sat Feb 06 20:33:25 2016 -0600
+++ b/gplugin/gplugin-manager.c Mon Feb 29 20:25:45 2016 -0600
@@ -37,6 +37,7 @@
@@ -89,6 +90,7 @@
void (*loaded_plugin)(GObject *manager,
+ void (*load_failed)(GObject *manager, GPluginPlugin *plugin); gboolean (*unloading_plugin)(GObject *manager,
@@ -767,7 +769,10 @@
gplugin_plugin_set_state(plugin, (ret) ? GPLUGIN_PLUGIN_STATE_LOADED :
GPLUGIN_PLUGIN_STATE_LOAD_FAILED);
- g_signal_emit(manager, signals[SIG_LOADED], 0, plugin);
+ g_signal_emit(manager, signals[SIG_LOADED], 0, plugin); + g_signal_emit(manager, signals[SIG_LOAD_FAILED], 0, plugin); @@ -937,6 +942,25 @@
+ * GPluginManager::load-failed: + * @manager: The #GPluginPluginManager instance. + * @plugin: The #GPluginPlugin that failed to load. + * emitted after a plugin fails to load. + signals[SIG_LOAD_FAILED] = + g_signal_new("load-failed", + G_OBJECT_CLASS_TYPE(manager_class), + G_STRUCT_OFFSET(GPluginManagerClass, load_failed), + gplugin_marshal_VOID__OBJECT, * GPluginManager::unloading-plugin:
* @manager: the #gpluginpluginmanager instance. treat as a #gobject.
* @plugin: the #gpluginplugin that's about to be loaded.