summaryrefslogtreecommitdiff
path: root/gtk/gtkcontainer.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2012-08-06 23:37:36 -0400
committerMatthias Clasen <mclasen@redhat.com>2012-08-06 23:37:36 -0400
commite2c15e2791870c297bbc8e055dae359f9bc76a0c (patch)
treede70c35ef8cecebefb94238556ce7289df2439da /gtk/gtkcontainer.c
parent2661403f88af24530e57ada1c552311ae1c6fb26 (diff)
downloadgtk+-e2c15e2791870c297bbc8e055dae359f9bc76a0c.tar.gz
Fix a memory leak
As Pavel Vesin pointed out in bug 681064, we were leaking the container_restyle_queue.
Diffstat (limited to 'gtk/gtkcontainer.c')
-rw-r--r--gtk/gtkcontainer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index be68602788..ad8ccb5657 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -1648,14 +1648,18 @@ gtk_container_idle_sizer (gpointer data)
current_time = g_get_monotonic_time ();
slist = container_restyle_queue;
container_restyle_queue = NULL;
- for (; slist; slist = slist->next)
+ while (slist)
{
+ GSList *next = slist->next;
GtkContainer *container = slist->data;
container->priv->restyle_pending = FALSE;
_gtk_style_context_validate (gtk_widget_get_style_context (GTK_WIDGET (container)),
current_time,
0);
+
+ g_slist_free_1 (slist);
+ slist = next;
}
/* we may be invoked with a container_resize_queue of NULL, because