From 8e1878bc320cecffedaa8747db18ca042461002e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 26 Sep 2014 18:00:19 -0400 Subject: [PATCH] Fix a memory leak in gtk_test_find_label Pointed out by Garrett Regier in https://bugzilla.gnome.org/show_bug.cgi?id=737439 --- gtk/gtktestutils.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gtk/gtktestutils.c b/gtk/gtktestutils.c index b96a828f1b..a024614220 100644 --- a/gtk/gtktestutils.c +++ b/gtk/gtktestutils.c @@ -291,24 +291,29 @@ GtkWidget* gtk_test_find_label (GtkWidget *widget, const gchar *label_pattern) { + GtkWidget *label = NULL; + if (GTK_IS_LABEL (widget)) { const gchar *text = gtk_label_get_text (GTK_LABEL (widget)); if (g_pattern_match_simple (label_pattern, text)) return widget; } + if (GTK_IS_CONTAINER (widget)) { - GList *node, *list = gtk_container_get_children (GTK_CONTAINER (widget)); + GList *node, *list; + + list = gtk_container_get_children (GTK_CONTAINER (widget)); for (node = list; node; node = node->next) { - GtkWidget *label = gtk_test_find_label (node->data, label_pattern); + label = gtk_test_find_label (node->data, label_pattern); if (label) - return label; + break; } g_list_free (list); } - return NULL; + return label; } static GList*