Index: src/cairo-ft-font.c =================================================================== RCS file: /mirrors/freedesktop/cairo/cairo/src/cairo-ft-font.c,v retrieving revision 1.104 diff -u -p -r1.104 cairo-ft-font.c --- src/cairo-ft-font.c 21 Aug 2005 15:06:06 -0000 1.104 +++ src/cairo-ft-font.c 22 Aug 2005 21:12:38 -0000 @@ -206,10 +206,14 @@ _cairo_ft_unscaled_font_map_destroy (voi break; _cairo_hash_table_remove (font_map->hash_table, &unscaled->base.hash_entry); + if (unscaled->face) + font_map->num_open_faces--; _cairo_ft_unscaled_font_fini (unscaled); free (unscaled); } + assert (font_map->num_open_faces == 0); + FT_Done_FreeType (font_map->ft_library); _cairo_hash_table_destroy (font_map->hash_table); @@ -456,9 +460,11 @@ _cairo_ft_unscaled_font_destroy (void *a _cairo_hash_table_remove (font_map->hash_table, &unscaled->base.hash_entry); - _cairo_ft_unscaled_font_map_unlock (); - + if (unscaled->face) + font_map->num_open_faces--; _cairo_ft_unscaled_font_fini (unscaled); + + _cairo_ft_unscaled_font_map_unlock (); } }