From 3d4514e73e98634cadce30c6f9bfbffb130a6451 Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Tue, 18 Sep 2007 17:08:04 +0000 Subject: [PATCH] 2007-09-18 [colin] 3.0.1cvs4 * src/toolbar.c Fix bug 1320, 'Memory leak caused by gtk_container_get_children'. Patch by Guillaume Chazarain --- ChangeLog | 7 +++++++ PATCHSETS | 1 + configure.ac | 2 +- src/toolbar.c | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2f5e13175..534837aa5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-09-18 [colin] 3.0.1cvs4 + + * src/toolbar.c + Fix bug 1320, 'Memory leak caused by + gtk_container_get_children'. Patch by + Guillaume Chazarain + 2007-09-18 [colin] 3.0.1cvs3 * src/printing.c diff --git a/PATCHSETS b/PATCHSETS index b3eed20d2..2f3832edf 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2867,3 +2867,4 @@ ( cvs diff -u -r 1.42.2.34 -r 1.42.2.35 NEWS; cvs diff -u -r 1.8.2.41 -r 1.8.2.42 README; cvs diff -u -r 1.1.2.23 -r 1.1.2.24 RELEASE_NOTES; cvs diff -u -r 1.654.2.2920 -r 1.654.2.2921 configure.ac; ) > 3.0.1cvs1.patchset ( cvs diff -u -r 1.155.2.74 -r 1.155.2.75 src/Makefile.am; cvs diff -u -r 1.274.2.211 -r 1.274.2.212 src/mainwindow.c; cvs diff -u -r 1.94.2.151 -r 1.94.2.152 src/messageview.c; cvs diff -u -r 1.19.2.16 -r 1.19.2.17 src/messageview.h; cvs diff -u -r 1.3.2.16 -r 1.3.2.17 src/prefs_ext_prog.c; cvs diff -u -r 1.4.2.20 -r 1.4.2.21 src/prefs_fonts.c; diff -u /dev/null src/printing.c; diff -u /dev/null src/printing.h; cvs diff -u -r 1.395.2.325 -r 1.395.2.326 src/summaryview.c; ) > 3.0.1cvs2.patchset ( cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/printing.c; cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/printing.h; ) > 3.0.1cvs3.patchset +( cvs diff -u -r 1.43.2.82 -r 1.43.2.83 src/toolbar.c; ) > 3.0.1cvs4.patchset diff --git a/configure.ac b/configure.ac index 19228d4fb..d276c4d43 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=0 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=3 +EXTRA_VERSION=4 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/toolbar.c b/src/toolbar.c index a80c8945e..7e575c1ab 100644 --- a/src/toolbar.c +++ b/src/toolbar.c @@ -1643,8 +1643,10 @@ static void toolbar_buttons_cb(GtkWidget *widget, GTK_CONTAINER(child)); \ btn = (GtkWidget *)gchild->data; \ arr = (GtkWidget *)(gchild->next?gchild->next->data:NULL); \ + g_list_free(gchild); \ gchild = gtk_container_get_children(GTK_CONTAINER(arr)); \ gtk_widget_set_size_request(GTK_WIDGET(gchild->data), 9, -1); \ + g_list_free(gchild); \ } #define MAKE_MENU(entries,path,btn) { \ @@ -2073,6 +2075,7 @@ void toolbar_update(ToolbarType type, gpointer data) GtkWidget *btn = (GtkWidget *)gchild->data; \ GtkWidget *arr = (GtkWidget *) \ (gchild->next?gchild->next->data:NULL); \ + g_list_free(gchild); \ if (GTK_IS_BUTTON(btn)) \ in_btn1 = GTK_BUTTON(btn)->in_button; \ if (GTK_IS_BUTTON(arr)) \ @@ -2095,6 +2098,7 @@ void toolbar_update(ToolbarType type, gpointer data) GtkWidget *btn = (GtkWidget *)gchild->data; \ GtkWidget *arr = (GtkWidget *) \ (gchild->next?gchild->next->data:NULL); \ + g_list_free(gchild); \ if (GTK_IS_BUTTON(btn)) \ GTK_BUTTON(btn)->in_button = in_btn1; \ if (GTK_IS_BUTTON(arr)) \ -- 2.25.1