aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-sorted-variable.c
diff options
context:
space:
mode:
authorMike Kestner <mkestner@src.gnome.org>2002-11-01 05:30:57 +0800
committerMike Kestner <mkestner@src.gnome.org>2002-11-01 05:30:57 +0800
commit613453b1095e325149b8d37e5731d415e1d5f9bd (patch)
tree1c0d7f9be4d4a87aa67d8e185ae2bb23d02254b7 /widgets/table/e-tree-sorted-variable.c
parentec242d6c30d7bf056c8f59710b8576c942f93583 (diff)
downloadgsoc2013-evolution-613453b1095e325149b8d37e5731d415e1d5f9bd.tar.gz
gsoc2013-evolution-613453b1095e325149b8d37e5731d415e1d5f9bd.tar.zst
gsoc2013-evolution-613453b1095e325149b8d37e5731d415e1d5f9bd.zip
merging the gal-2 branch back to the trunk.
merging the gal-2 branch back to the trunk. svn path=/trunk/; revision=18471
Diffstat (limited to 'widgets/table/e-tree-sorted-variable.c')
-rw-r--r--widgets/table/e-tree-sorted-variable.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/widgets/table/e-tree-sorted-variable.c b/widgets/table/e-tree-sorted-variable.c
index f2a753222a..9fa587022f 100644
--- a/widgets/table/e-tree-sorted-variable.c
+++ b/widgets/table/e-tree-sorted-variable.c
@@ -1,5 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
+/*
* e-tree-sorted-variable.c
* Copyright 2000, 2001, Ximian, Inc.
*
@@ -62,32 +62,40 @@ etsv_destroy (GtkObject *object)
{
ETreeSortedVariable *etsv = E_TREE_SORTED_VARIABLE (object);
- gtk_signal_disconnect (GTK_OBJECT (etss->source),
- etsv->table_model_changed_id);
+ if (etsv->table_model_changed_id)
+ gtk_signal_disconnect (GTK_OBJECT (etss->source),
+ etsv->table_model_changed_id);
+ etsv->table_model_changed_id = 0;
+
#if 0
gtk_signal_disconnect (GTK_OBJECT (etss->source),
etsv->table_model_row_changed_id);
gtk_signal_disconnect (GTK_OBJECT (etss->source),
etsv->table_model_cell_changed_id);
+
+ etsv->table_model_row_changed_id = 0;
+ etsv->table_model_cell_changed_id = 0;
#endif
- gtk_signal_disconnect (GTK_OBJECT (etsv->sort_info),
- etsv->sort_info_changed_id);
+ if (etsv->sort_info_changed_id)
+ gtk_signal_disconnect (GTK_OBJECT (etsv->sort_info),
+ etsv->sort_info_changed_id);
+ etsv->sort_info_changed_id = 0;
- if (etsv->sort_idle_id) {
+ if (etsv->sort_idle_id)
g_source_remove(etsv->sort_idle_id);
- }
- if (etsv->insert_idle_id) {
+ etsv->sort_idle_id = 0;
+
+ if (etsv->insert_idle_id)
g_source_remove(etsv->insert_idle_id);
- }
-
- etsv->table_model_changed_id = 0;
- etsv->table_model_row_changed_id = 0;
- etsv->table_model_cell_changed_id = 0;
+ etsv->insert_idle_id = 0;
if (etsv->sort_info)
gtk_object_unref(GTK_OBJECT(etsv->sort_info));
+ etsv->sort_info = NULL;
+
if (etsv->full_header)
gtk_object_unref(GTK_OBJECT(etsv->full_header));
+ etsv->full_header = NULL;
GTK_OBJECT_CLASS (etsv_parent_class)->destroy (object);
}