1
From 28146a6b453eef450acfbdda7172246f9b8b0036 Mon Sep 17 00:00:00 2001
2
From: Rodrigo Moya <rodrigo@gnome-db.org>
3
Date: Tue, 13 Sep 2011 10:57:17 +0200
4
Subject: [PATCH] gconf: Disconnect callbacks when cleaning up
7
plugins/gconf/conf-watcher.c | 8 +++++++-
8
1 files changed, 7 insertions(+), 1 deletions(-)
10
diff --git a/plugins/gconf/conf-watcher.c b/plugins/gconf/conf-watcher.c
11
index 99a148d..e569818 100644
12
--- a/plugins/gconf/conf-watcher.c
13
+++ b/plugins/gconf/conf-watcher.c
16
G_DEFINE_TYPE(ConfWatcher, conf_watcher, G_TYPE_OBJECT)
18
+static void settings_changed_cb (GSettings *settings,
20
+ ConfWatcher *watcher);
23
conf_watcher_finalize (GObject *object)
25
ConfWatcher *watcher = CONF_WATCHER (object);
27
- if (watcher->settings != NULL)
28
+ if (watcher->settings != NULL) {
29
+ g_signal_handlers_disconnect_by_func (watcher->settings, settings_changed_cb, watcher);
30
g_object_unref (watcher->settings);
33
if (watcher->conf_client != NULL)
34
g_object_unref (watcher->conf_client);