aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/contact-list-editor
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/contact-list-editor')
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-editor.c3
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-model.c11
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