[gtk/matthiasc/for-master: 5/6] fontchooser: Plug listmodel memory leaks




commit 6cbd7e29ddeb0e2a428cdd42e0d878ab6a127454
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Nov 10 09:07:40 2020 -0500

    fontchooser: Plug listmodel memory leaks
    
    We were leaking references returned from g_list_model_get_item
    in some places.

 gtk/gtkfontchooserwidget.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index 254752f84d..62b0320049 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -1368,11 +1368,14 @@ gtk_font_chooser_widget_ensure_matching_selection (GtkFontChooserWidget *self)
   n = g_list_model_get_n_items (G_LIST_MODEL (self->selection));
   for (i = 0; i < n; i++)
     {
-      gpointer item = g_list_model_get_item (G_LIST_MODEL (self->selection), i);
+      gpointer item;
       PangoFontFace *face;
       PangoFontFamily *family;
       PangoFontDescription *merged;
 
+      item = g_list_model_get_item (G_LIST_MODEL (self->selection), i);
+      g_object_unref (item);
+
       if (PANGO_IS_FONT_FAMILY (item))
         {
           family = item;
@@ -1384,14 +1387,10 @@ gtk_font_chooser_widget_ensure_matching_selection (GtkFontChooserWidget *self)
           family = pango_font_face_get_family (face);
         }
       if (!my_pango_font_family_equal (desc_family, pango_font_family_get_name (family)))
-        {
-          g_object_unref (face);
-          continue;
-        }
+        continue;
 
       merged = pango_font_face_describe (face);
       pango_font_description_merge_static (merged, self->font_desc, FALSE);
-      g_object_unref (face);
 
       if (pango_font_description_equal (merged, self->font_desc))
         {


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