From f57eec5288c3f83e8e8eba68f07aea49f01073a0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 3 Apr 2022 08:04:35 -0400 Subject: [PATCH] css: Plug a memory leak We were leaking the terms of calc values. Oops. --- gtk/gtkcssnumbervalue.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcssnumbervalue.c b/gtk/gtkcssnumbervalue.c index 7b2dbeacc9..78e11b86ee 100644 --- a/gtk/gtkcssnumbervalue.c +++ b/gtk/gtkcssnumbervalue.c @@ -69,11 +69,18 @@ gtk_css_calc_value_new_from_array (GtkCssValue **values, return result; } - static void -gtk_css_value_number_free (GtkCssValue *value) +gtk_css_value_number_free (GtkCssValue *number) { - g_slice_free (GtkCssValue, value); + if (number->type == TYPE_CALC) + { + const guint n_terms = number->calc.n_terms; + + for (guint i = 0; i < n_terms; i++) + _gtk_css_value_unref (number->calc.terms[i]); + } + + g_slice_free (GtkCssValue, number); } static double -- 2.30.2