aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/shortcut-bar/ChangeLog4
-rw-r--r--widgets/shortcut-bar/e-icon-bar.c9
2 files changed, 13 insertions, 0 deletions
diff --git a/widgets/shortcut-bar/ChangeLog b/widgets/shortcut-bar/ChangeLog
index f3baab779a..76c46fabea 100644
--- a/widgets/shortcut-bar/ChangeLog
+++ b/widgets/shortcut-bar/ChangeLog
@@ -1,3 +1,7 @@
+2000-06-02 Christopher James Lahey <clahey@helixcode.com>
+
+ * e-icon-bar.c: Free all the item data.
+
2000-06-01 Ettore Perazzoli <ettore@helixcode.com>
* e-shortcut-bar.c (e_shortcut_bar_get_view_type): New function.
diff --git a/widgets/shortcut-bar/e-icon-bar.c b/widgets/shortcut-bar/e-icon-bar.c
index 68eaeaffa7..731c584fbe 100644
--- a/widgets/shortcut-bar/e-icon-bar.c
+++ b/widgets/shortcut-bar/e-icon-bar.c
@@ -287,10 +287,19 @@ static void
e_icon_bar_destroy (GtkObject *object)
{
EIconBar *icon_bar;
+ int item_num;
+ EIconBarItem *item;
icon_bar = E_ICON_BAR (object);
GTK_OBJECT_CLASS (parent_class)->destroy (object);
+
+ for (item_num = 0; item_num < icon_bar->items->len; item_num++) {
+ item = &g_array_index (icon_bar->items,
+ EIconBarItem, item_num);
+ if (item->destroy)
+ item->destroy (item->data);
+ }
g_array_free (icon_bar->items, TRUE);