From 011b0aff98188ab407f76e72c58c12ecba970838 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 29 Oct 2012 17:05:22 +0100 Subject: [PATCH] Bug #687100 - Crash under cal_backend_contacts_remove_book_record() --- calendar/backends/contacts/e-cal-backend-contacts.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/calendar/backends/contacts/e-cal-backend-contacts.c b/calendar/backends/contacts/e-cal-backend-contacts.c index 486ea74..2587a79 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; -- 2.7.4