* src/base/ftobjs.c (FT_Done_Library): Issue an error when FT_Done_Face() is failed and retried

This commit is contained in:
Suzuki, Toshiya (鈴木俊哉) 2009-01-09 05:07:15 +00:00
parent a79de11b22
commit 2dc1079494
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,13 @@
2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* src/base/ftobjs.c (FT_Done_Library): Issue an error message when
FT_Done_Face() cannot free all faces. If the list of the opened
faces includes broken face which FT_Done_Face() cannot free,
FT_Done_Library() retries FT_Done_Face() and it can fall into
an endless loop. See the discussion:
http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
2009-01-07 Werner Lemberg <wl@gnu.org>
* docs/CHANGES: Document new key `a' in ftdiff.

View File

@ -4196,7 +4196,11 @@
faces = &FT_DRIVER(module)->faces_list;
while ( faces->head )
{
FT_Done_Face( FT_FACE( faces->head->data ) );
if ( faces->head )
FT_ERROR(( "FT_Done_Library: failed to free some faces\n" ));
}
}
}