From 08d4bb47856c68d09239512eda1e5b82c75c33b0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 25 Dec 2019 00:40:32 -0500 Subject: [PATCH] widget: Fix a memory leak The transform passed to gtk_widget_allocate is transfer full, so we must consume the reference before returning. --- gtk/gtkwidget.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 1c03acb20f..c1bd09842e 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4317,7 +4317,10 @@ gtk_widget_allocate (GtkWidget *widget, gtk_widget_push_verify_invariants (widget); if (!priv->visible && !GTK_IS_ROOT (widget)) - goto out; + { + gsk_transform_unref (transform); + goto out; + } #ifdef G_ENABLE_DEBUG if (GTK_DISPLAY_DEBUG_CHECK (_gtk_widget_get_display (widget), RESIZE)) -- 2.30.2