aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component
diff options
context:
space:
mode:
authorHans Petter Jansson <hpj@ximian.com>2003-08-14 15:18:18 +0800
committerHans Petter <hansp@src.gnome.org>2003-08-14 15:18:18 +0800
commit6d45ed28597a85c6b5dfa49aeeaf3911da76cf77 (patch)
treee317252d95d4df6ef75f10088d1372c1978b6e7b /addressbook/gui/component
parent7a208fc48c41e901d527eab89cb103f3c999ad86 (diff)
downloadgsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.tar
gsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.tar.gz
gsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.tar.bz2
gsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.tar.lz
gsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.tar.xz
gsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.tar.zst
gsoc2013-evolution-6d45ed28597a85c6b5dfa49aeeaf3911da76cf77.zip
Chain.
2003-08-12 Hans Petter Jansson <hpj@ximian.com> * backend/ebook/e-destination.c (e_destination_dispose): Chain. * gui/component/e-address-widget.c (e_address_widget_destroy): Chain. Prevent double frees. Prevent double GSource removal. * gui/component/e-cardlist-model.c (e_cardlist_model_class_init): Store parent class. (e_cardlist_model_dispose): Chain. Prevent double frees and unrefs. * gui/contact-editor/e-contact-editor-address.c (e_contact_editor_address_dispose): Chain. * gui/contact-editor/e-contact-editor-fullname.c (e_contact_editor_fullname_dispose): Chain. * gui/contact-list-editor/e-contact-list-editor.c (e_contact_list_editor_dispose): Chain. * gui/contact-list-editor/e-contact-list-model.c (contact_list_model_destroy): Chain. Prevent double frees and unrefs. * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_dispose): Chain. (addressbook_finalize): Chain. * gui/widgets/e-addressbook-table-adapter.c (addressbook_dispose): Chain. * gui/widgets/e-addressbook-treeview-adapter.c (addressbook_destroy): Chain. Prevent double free. * gui/widgets/gal-view-minicard.c (gal_view_minicard_dispose): Chain. Prevent double free and detach. * gui/widgts/gal-view-treeview.c (gal_view_treeview_dispose): Chain. Prevent double free and detach. * printins/e-contact-print-style-editor.c (e_contact_print_stule_editor_destroy): Chain. Prevent double unref. svn path=/trunk/; revision=22229
Diffstat (limited to 'addressbook/gui/component')
-rw-r--r--addressbook/gui/component/e-address-widget.c13
-rw-r--r--addressbook/gui/component/e-cardlist-model.c16
2 files changed, 24 insertions, 5 deletions
diff --git a/addressbook/gui/component/e-address-widget.c b/addressbook/gui/component/e-address-widget.c
index e9698d5b1d..9ec1e6ebba 100644
--- a/addressbook/gui/component/e-address-widget.c
+++ b/addressbook/gui/component/e-address-widget.c
@@ -74,13 +74,22 @@ e_address_widget_destroy (GtkObject *obj)
EAddressWidget *addr = E_ADDRESS_WIDGET (obj);
g_free (addr->name);
+ addr->name = NULL;
+
g_free (addr->email);
+ addr->email = NULL;
- if (addr->query_tag)
+ if (addr->query_tag) {
e_book_simple_query_cancel (common_book, addr->query_tag);
+ addr->query_tag = 0;
+ }
- if (addr->query_idle_tag)
+ if (addr->query_idle_tag) {
g_source_remove (addr->query_idle_tag);
+ addr->query_idle_tag = 0;
+ }
+
+ (* GTK_OBJECT_CLASS (parent_class)->destroy) (obj);
}
static gint
diff --git a/addressbook/gui/component/e-cardlist-model.c b/addressbook/gui/component/e-cardlist-model.c
index aca0bac22f..be1ff3ddd2 100644
--- a/addressbook/gui/component/e-cardlist-model.c
+++ b/addressbook/gui/component/e-cardlist-model.c
@@ -18,16 +18,24 @@
#define PARENT_TYPE e_table_model_get_type()
+static GObjectClass *parent_class = NULL;
+
static void
e_cardlist_model_dispose(GObject *object)
{
ECardlistModel *model = E_CARDLIST_MODEL(object);
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);
+
+ if (G_OBJECT_CLASS (parent_class)->dispose)
+ (* G_OBJECT_CLASS (parent_class)->dispose) (object);
}
/* This function returns the number of columns in our ETableModel. */
@@ -157,6 +165,8 @@ static void
e_cardlist_model_class_init (GObjectClass *object_class)
{
ETableModelClass *model_class = (ETableModelClass *) object_class;
+
+ parent_class = g_type_class_peek_parent (object_class);
object_class->dispose = e_cardlist_model_dispose;