fix for inexistent sfnt ID in broken FOND

This commit is contained in:
Suzuki, Toshiya (鈴木俊哉) 2008-02-15 09:12:59 +00:00
Родитель aa722df478
Коммит d2c55ab0e4
3 изменённых файлов: 14 добавлений и 2 удалений

Просмотреть файл

@ -1,3 +1,15 @@
2008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
handle by its value instead of ResError(), fix provided by Deron
Kazmaier. According to Resource Manager Reference, GetResource(),
Get1Resource(), GetNamedResource(), Get1NamedResource()
and RGetResource() set noErr but returns NULL handle when they can
not find requested resource. These functions never return undefined
values, so it is sufficient to check if the handle is not NULL.
* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
2008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
* src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other

Просмотреть файл

@ -1207,7 +1207,7 @@ typedef short ResourceIndex;
sfnt = GetResource( FT_MAKE_TAG( 's', 'f', 'n', 't' ), sfnt_id );
if ( ResError() )
if ( sfnt == NULL )
return FT_Err_Invalid_Handle;
sfnt_size = (FT_ULong)GetHandleSize( sfnt );

Просмотреть файл

@ -828,7 +828,7 @@ typedef short ResourceIndex;
sfnt = GetResource( FT_MAKE_TAG( 's', 'f', 'n', 't' ), sfnt_id );
if ( ResError() )
if ( sfnt == NULL )
return FT_Err_Invalid_Handle;
sfnt_size = (FT_ULong)GetHandleSize( sfnt );