diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | pango/pangofc-fontmap.c | 12 |
2 files changed, 12 insertions, 6 deletions
@@ -1,5 +1,11 @@ 2009-01-29 Behdad Esfahbod <behdad@gnome.org> + * pango/pangofc-fontmap.c (pango_fc_font_map_fini), + (pango_fc_font_map_shutdown): Don't disassociate family from fontmap + during cache_clear(). + +2009-01-29 Behdad Esfahbod <behdad@gnome.org> + * pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray): Allocate all array rows in a single ALLOC call. Saves over 2000 alloc calls when loading DejaVu Sans! diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c index cc742392..4bcae1fd 100644 --- a/pango/pangofc-fontmap.c +++ b/pango/pangofc-fontmap.c @@ -1009,10 +1009,7 @@ pango_fc_font_map_fini (PangoFcFontMap *fcfontmap) priv->pattern_hash = NULL; for (i = 0; i < priv->n_families; i++) - { - priv->families[i]->fontmap = NULL; - g_object_unref (priv->families[i]); - } + g_object_unref (priv->families[i]); g_free (priv->families); priv->n_families = -1; priv->families = NULL; @@ -1843,11 +1840,14 @@ void pango_fc_font_map_shutdown (PangoFcFontMap *fcfontmap) { PangoFcFontMapPrivate *priv = fcfontmap->priv; + int i; if (priv->closed) return; g_hash_table_foreach (priv->font_hash, (GHFunc) shutdown_font, NULL); + for (i = 0; i < priv->n_families; i++) + priv->families[i]->fontmap = NULL; pango_fc_font_map_fini (fcfontmap); @@ -2243,8 +2243,8 @@ create_face (PangoFcFamily *fcfamily, static void pango_fc_family_list_faces (PangoFontFamily *family, - PangoFontFace ***faces, - int *n_faces) + PangoFontFace ***faces, + int *n_faces) { PangoFcFamily *fcfamily = PANGO_FC_FAMILY (family); PangoFcFontMap *fcfontmap = fcfamily->fontmap; |