fontchooser: Plug listmodel memory leaks

We were leaking references returned from g_list_model_get_item
in some places.
This commit is contained in:
Matthias Clasen
2020-11-10 09:07:40 -05:00
parent 6079033cde
commit 6cbd7e29dd

View File

@@ -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))
{