aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-sorted-variable.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-table-sorted-variable.c')
-rw-r--r--widgets/table/e-table-sorted-variable.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/widgets/table/e-table-sorted-variable.c b/widgets/table/e-table-sorted-variable.c
index 7689d1f33f..93e103e1cc 100644
--- a/widgets/table/e-table-sorted-variable.c
+++ b/widgets/table/e-table-sorted-variable.c
@@ -1,5 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
+/*
* e-table-sorted-variable.c
* Copyright 2000, 2001, Ximian, Inc.
*
@@ -50,20 +50,27 @@ etsv_destroy (GtkObject *object)
{
ETableSortedVariable *etsv = E_TABLE_SORTED_VARIABLE (object);
- 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) {
g_source_remove(etsv->sort_idle_id);
+ etsv->sort_idle_id = 0;
}
if (etsv->insert_idle_id) {
g_source_remove(etsv->insert_idle_id);
+ 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);
}