fix for inexistent sfnt ID in broken FOND

david-pic-changes
Suzuki, Toshiya (鈴木俊哉) 17 years ago
parent aa722df478
commit d2c55ab0e4
  1. 12
      ChangeLog
  2. 2
      builds/mac/ftmac.c
  3. 2
      src/base/ftmac.c

@ -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 );

Loading…
Cancel
Save