[gnome-settings-daemon] xsettings: use g_signal_connect_object with GSettings
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon] xsettings: use g_signal_connect_object with GSettings
- Date: Wed, 30 May 2012 10:13:07 +0000 (UTC)
commit 7e87d46ade351e6f59de38923f266e79d5d92db0
Author: Ryan Lortie <desrt desrt ca>
Date: Fri May 4 15:46:18 2012 -0700
xsettings: use g_signal_connect_object with GSettings
This way we automatically disconnect the signal handler when our objects
die (during shutdown).
https://bugzilla.gnome.org/show_bug.cgi?id=675481
plugins/xsettings/gsd-xsettings-gtk.c | 3 +--
plugins/xsettings/gsd-xsettings-manager.c | 6 ++----
2 files changed, 3 insertions(+), 6 deletions(-)
---
diff --git a/plugins/xsettings/gsd-xsettings-gtk.c b/plugins/xsettings/gsd-xsettings-gtk.c
index d0b94da..74aaab7 100644
--- a/plugins/xsettings/gsd-xsettings-gtk.c
+++ b/plugins/xsettings/gsd-xsettings-gtk.c
@@ -129,8 +129,7 @@ process_desktop_file (const char *path,
g_object_set_data_full (G_OBJECT (settings), "module-name", g_strdup (module_name), (GDestroyNotify) g_free);
signal = g_strdup_printf ("changed::%s", key);
- g_signal_connect (G_OBJECT (settings), signal,
- G_CALLBACK (cond_setting_changed), gtk);
+ g_signal_connect_object (G_OBJECT (settings), signal, G_CALLBACK (cond_setting_changed), gtk, 0);
g_free (signal);
g_free (schema);
g_free (key);
diff --git a/plugins/xsettings/gsd-xsettings-manager.c b/plugins/xsettings/gsd-xsettings-manager.c
index 19e31a1..e909b08 100644
--- a/plugins/xsettings/gsd-xsettings-manager.c
+++ b/plugins/xsettings/gsd-xsettings-manager.c
@@ -884,15 +884,13 @@ gnome_xsettings_manager_start (GnomeXSettingsManager *manager,
list = g_hash_table_get_values (manager->priv->settings);
for (l = list; l != NULL; l = l->next) {
- g_signal_connect (G_OBJECT (l->data), "changed",
- G_CALLBACK (xsettings_callback), manager);
+ g_signal_connect_object (G_OBJECT (l->data), "changed", G_CALLBACK (xsettings_callback), manager, 0);
}
g_list_free (list);
/* Plugin settings (GTK modules and Xft) */
manager->priv->plugin_settings = g_settings_new (XSETTINGS_PLUGIN_SCHEMA);
- g_signal_connect (manager->priv->plugin_settings, "changed",
- G_CALLBACK (plugin_callback), manager);
+ g_signal_connect_object (manager->priv->plugin_settings, "changed", G_CALLBACK (plugin_callback), manager, 0);
manager->priv->gtk = gsd_xsettings_gtk_new ();
g_signal_connect (G_OBJECT (manager->priv->gtk), "notify::gtk-modules",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]