diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-03-24 06:17:20 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-03-24 06:17:20 +0800 |
commit | 8664825c583e2f0b8903e4fab61de956b051d863 (patch) | |
tree | dd20fd13d7ba7a16226ba4f2b5504619b7279069 | |
parent | 2829dd55fd46782faf9ee12e4a6fbb293ffd3f7e (diff) | |
download | gsoc2013-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.c | 3 |
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); |