aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-03-24 06:17:20 +0800
committerChris Lahey <clahey@src.gnome.org>2001-03-24 06:17:20 +0800
commit8664825c583e2f0b8903e4fab61de956b051d863 (patch)
treedd20fd13d7ba7a16226ba4f2b5504619b7279069
parent2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e (diff)
downloadgsoc2013-evolution-8664825c583e2f0b8903e4fab61de956b051d863.tar.gz
gsoc2013-evolution-8664825c583e2f0b8903e4fab61de956b051d863.tar.zst
gsoc2013-evolution-8664825c583e2f0b8903e4fab61de956b051d863.zip
Properly remove old items from the ETableExtras if they are replaced by
2001-03-23 Christopher James Lahey <clahey@ximian.com> * e-table-extras.c: Properly remove old items from the ETableExtras if they are replaced by new objects. svn path=/trunk/; revision=8919
-rw-r--r--widgets/table/e-table-extras.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/widgets/table/e-table-extras.c b/widgets/table/e-table-extras.c
index cd942193d2..85945a8109 100644
--- a/widgets/table/e-table-extras.c
+++ b/widgets/table/e-table-extras.c
@@ -120,6 +120,7 @@ e_table_extras_add_cell (ETableExtras *extras,
ECell *old_cell;
if (g_hash_table_lookup_extended (extras->cells, id, (gpointer *)&old_key, (gpointer *)&old_cell)) {
+ g_hash_table_remove (extras->cells, old_key);
g_free (old_key);
if (old_cell)
gtk_object_unref (GTK_OBJECT(old_cell));
@@ -148,6 +149,7 @@ e_table_extras_add_compare (ETableExtras *extras,
GCompareFunc old_compare;
if (g_hash_table_lookup_extended (extras->cells, id, (gpointer *)&old_key, (gpointer *)&old_compare)) {
+ g_hash_table_remove (extras->cells, old_key);
g_free (old_key);
}
@@ -170,6 +172,7 @@ e_table_extras_add_pixbuf (ETableExtras *extras,
GdkPixbuf *old_pixbuf;
if (g_hash_table_lookup_extended (extras->pixbufs, id, (gpointer *)&old_key, (gpointer *)&old_pixbuf)) {
+ g_hash_table_remove (extras->cells, old_key);
g_free (old_key);
if (old_pixbuf)
gdk_pixbuf_unref (old_pixbuf);