[evolution-data-server/gnome-3-6] Bug #687100 - Crash under cal_backend_contacts_remove_book_record()



commit 5323e33d2986e049f78c985c9b028870c0993748
Author: Milan Crha <mcrha redhat com>
Date:   Mon Oct 29 17:05:47 2012 +0100

    Bug #687100 - Crash under cal_backend_contacts_remove_book_record()

 .../backends/contacts/e-cal-backend-contacts.c     |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/calendar/backends/contacts/e-cal-backend-contacts.c b/calendar/backends/contacts/e-cal-backend-contacts.c
index 786b13d..9e8ee14 100644
--- a/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -1323,6 +1323,18 @@ e_cal_backend_contacts_finalize (GObject *object)
 }
 
 static void
+e_cal_backend_contacts_dispose (GObject *object)
+{
+	ESourceRegistry *registry;
+
+	registry = e_cal_backend_get_registry (E_CAL_BACKEND (object));
+	g_signal_handlers_disconnect_by_data (registry, object);
+
+	/* Chain up to parent's dispose() method. */
+	G_OBJECT_CLASS (e_cal_backend_contacts_parent_class)->dispose (object);
+}
+
+static void
 e_cal_backend_contacts_constructed (GObject *object)
 {
 	/* Load address book sources from an idle callback
@@ -1405,6 +1417,7 @@ e_cal_backend_contacts_class_init (ECalBackendContactsClass *class)
 	sync_class = (ECalBackendSyncClass *) class;
 
 	object_class->finalize = e_cal_backend_contacts_finalize;
+	object_class->dispose = e_cal_backend_contacts_dispose;
 	object_class->constructed = e_cal_backend_contacts_constructed;
 
 	sync_class->get_backend_property_sync	= e_cal_backend_contacts_get_backend_property;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]