diff options
Diffstat (limited to 'addressbook/gui/contact-list-editor')
-rw-r--r-- | addressbook/gui/contact-list-editor/e-contact-list-editor.c | 3 | ||||
-rw-r--r-- | addressbook/gui/contact-list-editor/e-contact-list-model.c | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c index e53ebf6786..39f251f5ee 100644 --- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c +++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c @@ -311,7 +311,8 @@ e_contact_list_editor_init (EContactListEditor *editor) static void e_contact_list_editor_dispose (GObject *object) { - /* XXX need to call parent dispose */ + if (G_OBJECT_CLASS (parent_class)->dispose) + (* G_OBJECT_CLASS (parent_class)->dispose) (object); } typedef struct { diff --git a/addressbook/gui/contact-list-editor/e-contact-list-model.c b/addressbook/gui/contact-list-editor/e-contact-list-model.c index 6cad1bd9bf..89354aaece 100644 --- a/addressbook/gui/contact-list-editor/e-contact-list-model.c +++ b/addressbook/gui/contact-list-editor/e-contact-list-model.c @@ -85,13 +85,18 @@ contact_list_model_destroy (GtkObject *o) EContactListModel *model = E_CONTACT_LIST_MODEL (o); int i; - for (i = 0; i < model->data_count; i ++) { - g_object_unref (model->data[i]); + if (model->data != NULL) { + for (i = 0; i < model->data_count; i ++) { + g_object_unref (model->data[i]); + } + g_free (model->data); + model->data = NULL; } - g_free (model->data); model->data_count = 0; model->data_alloc = 0; + + (* GTK_OBJECT_CLASS (parent_class)->destroy) (o); } static void |