[gtk/matthiasc/for-main: 2/2] css: Plug a memory leak




commit f57eec5288c3f83e8e8eba68f07aea49f01073a0
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Apr 3 08:04:35 2022 -0400

    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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]