Don't disassociate family from fontmap during cache_clear().
authorBehdad Esfahbod <behdad@gnome.org>
Thu, 29 Jan 2009 09:19:33 +0000 (09:19 +0000)
committerBehdad Esfahbod <behdad@src.gnome.org>
Thu, 29 Jan 2009 09:19:33 +0000 (09:19 +0000)
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().

svn path=/trunk/; revision=2816

ChangeLog
pango/pangofc-fontmap.c

index 65ac058..02985bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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!
index cc74239..4bcae1f 100644 (file)
@@ -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;