[brasero: 7/8] Allows plugin which return a G_TYPE_NONE (that is those which had a problem loading) to be displayed
- From: Philippe Rouquier <philippr src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [brasero: 7/8] Allows plugin which return a G_TYPE_NONE (that is those which had a problem loading) to be displayed
- Date: Mon, 26 Oct 2009 19:55:55 +0000 (UTC)
commit 834baaaf4d8f2b746b0a8cc35a17b75c663d29f1
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date: Thu Aug 6 16:11:19 2009 +0200
Allows plugin which return a G_TYPE_NONE (that is those which had a problem loading) to be displayed in plugin dialog
libbrasero-burn/burn-plugin-manager.c | 37 +++++++++++++++++++++-----------
1 files changed, 24 insertions(+), 13 deletions(-)
---
diff --git a/libbrasero-burn/burn-plugin-manager.c b/libbrasero-burn/burn-plugin-manager.c
index 43eda6a..89fdb19 100644
--- a/libbrasero-burn/burn-plugin-manager.c
+++ b/libbrasero-burn/burn-plugin-manager.c
@@ -175,6 +175,11 @@ brasero_plugin_manager_set_plugins_state (BraseroPluginManager *self)
BraseroPlugin *plugin;
plugin = iter->data;
+
+ /* Skip plugins with a problem */
+ if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE)
+ continue;
+
brasero_plugin_set_active (plugin, TRUE);
}
@@ -187,6 +192,10 @@ brasero_plugin_manager_set_plugins_state (BraseroPluginManager *self)
plugin = iter->data;
+ /* Skip plugins with a problem */
+ if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE)
+ continue;
+
if (brasero_plugin_get_compulsory (plugin)) {
brasero_plugin_set_active (plugin, TRUE);
BRASERO_BURN_LOG ("Setting plugin %s %s",
@@ -261,6 +270,10 @@ brasero_plugin_manager_plugin_state_changed (BraseroPlugin *plugin,
const gchar *name;
plugin = iter->data;
+
+ if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE)
+ continue;
+
if (!brasero_plugin_get_active (plugin))
continue;
@@ -397,15 +410,15 @@ brasero_plugin_manager_init (BraseroPluginManager *self)
continue;
}
- g_signal_connect (plugin,
- "activated",
- G_CALLBACK (brasero_plugin_manager_plugin_state_changed),
- self);
-
if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE) {
BRASERO_BURN_LOG ("Load failure, no GType was returned %s",
brasero_plugin_get_error (plugin));
}
+ else
+ g_signal_connect (plugin,
+ "activated",
+ G_CALLBACK (brasero_plugin_manager_plugin_state_changed),
+ self);
priv->plugins = g_slist_prepend (priv->plugins, plugin);
}
@@ -478,16 +491,14 @@ brasero_plugin_manager_init (BraseroPluginManager *self)
if (brasero_plugin_get_gtype (plugin) == G_TYPE_NONE) {
BRASERO_BURN_LOG ("Load failure, no GType was returned %s",
brasero_plugin_get_error (plugin));
- g_object_unref (plugin);
- continue;
}
+ else
+ g_signal_connect (plugin,
+ "activated",
+ G_CALLBACK (brasero_plugin_manager_plugin_state_changed),
+ self);
- g_signal_connect (plugin,
- "activated",
- G_CALLBACK (brasero_plugin_manager_plugin_state_changed),
- self);
-
- g_assert (brasero_plugin_get_name(plugin));
+ g_assert (brasero_plugin_get_name (plugin));
priv->plugins = g_slist_prepend (priv->plugins, plugin);
}
g_dir_close (directory);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]