[empathy: 1/3] disconnnect from invalidated signal before unreferencing connections
- From: Xavier Claessens <xclaesse src gnome org>
- To: svn-commits-list gnome org
- Subject: [empathy: 1/3] disconnnect from invalidated signal before unreferencing connections
- Date: Sun, 28 Jun 2009 07:59:22 +0000 (UTC)
commit ae811044a107035a82cbba64951661494dd33e3a
Author: Elliot Fairweather <elliot fairweather collabora co uk>
Date: Fri Jun 26 14:45:22 2009 +0100
disconnnect from invalidated signal before unreferencing connections
libempathy/empathy-contact-manager.c | 44 ++++++++++++++++++---------------
1 files changed, 24 insertions(+), 20 deletions(-)
---
diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c
index f415ec1..412087e 100644
--- a/libempathy/empathy-contact-manager.c
+++ b/libempathy/empathy-contact-manager.c
@@ -87,26 +87,6 @@ contact_manager_groups_changed_cb (EmpathyTpContactList *list,
}
static void
-contact_manager_disconnect_foreach (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- EmpathyTpContactList *list = value;
- EmpathyContactManager *manager = user_data;
-
- /* Disconnect signals from the list */
- g_signal_handlers_disconnect_by_func (list,
- contact_manager_members_changed_cb,
- manager);
- g_signal_handlers_disconnect_by_func (list,
- contact_manager_pendings_changed_cb,
- manager);
- g_signal_handlers_disconnect_by_func (list,
- contact_manager_groups_changed_cb,
- manager);
-}
-
-static void
contact_manager_invalidated_cb (TpProxy *connection,
guint domain,
gint code,
@@ -128,6 +108,30 @@ contact_manager_invalidated_cb (TpProxy *connection,
}
static void
+contact_manager_disconnect_foreach (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ TpConnection *connection = key;
+ EmpathyTpContactList *list = value;
+ EmpathyContactManager *manager = user_data;
+
+ /* Disconnect signals from the list */
+ g_signal_handlers_disconnect_by_func (list,
+ contact_manager_members_changed_cb,
+ manager);
+ g_signal_handlers_disconnect_by_func (list,
+ contact_manager_pendings_changed_cb,
+ manager);
+ g_signal_handlers_disconnect_by_func (list,
+ contact_manager_groups_changed_cb,
+ manager);
+ g_signal_handlers_disconnect_by_func (connection,
+ contact_manager_invalidated_cb,
+ manager);
+}
+
+static void
contact_manager_new_connection_cb (EmpathyAccountManager *account_manager,
TpConnection *connection,
EmpathyContactManager *self)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]