From 8664825c583e2f0b8903e4fab61de956b051d863 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 23 Mar 2001 22:17:20 +0000 Subject: Properly remove old items from the ETableExtras if they are replaced by 2001-03-23 Christopher James Lahey * e-table-extras.c: Properly remove old items from the ETableExtras if they are replaced by new objects. svn path=/trunk/; revision=8919 --- widgets/table/e-table-extras.c | 3 +++ 1 file changed, 3 insertions(+) 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); -- cgit v1.2.3