diff options
| author | Milan Crha <mcrha@redhat.com> | 2012-10-29 16:05:47 (GMT) |
|---|---|---|
| committer | Milan Crha <mcrha@redhat.com> | 2012-10-29 16:05:47 (GMT) |
| commit | 5323e33d2986e049f78c985c9b028870c0993748 (patch) | |
| tree | 122bdac36def1e0317602db66ad313b37ffd8a2b | |
| parent | a0d04e1ce5dacc564782d1a8300f61d2e4a74087 (diff) | |
| download | evolution-data-server-5323e33d2986e049f78c985c9b028870c0993748.zip evolution-data-server-5323e33d2986e049f78c985c9b028870c0993748.tar.xz | |
Bug 687100 - Crash under cal_backend_contacts_remove_book_record()
| -rw-r--r-- | calendar/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; |