diff options
author | marha <marha@users.sourceforge.net> | 2012-03-12 10:48:52 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-03-12 10:48:52 +0100 |
commit | 485b633824020c557eb60258e1d36975c8c44770 (patch) | |
tree | f48baf73d5a7ae814aae825e7b1405189eab9f0a /freetype/src/base/ftglyph.c | |
parent | c84235ee0d9940e6a779ec306e615603b58a79f2 (diff) | |
parent | 41bd254198b8b879a562a85f7dc868c3c0f7fbc1 (diff) | |
download | vcxsrv-485b633824020c557eb60258e1d36975c8c44770.tar.gz vcxsrv-485b633824020c557eb60258e1d36975c8c44770.tar.bz2 vcxsrv-485b633824020c557eb60258e1d36975c8c44770.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
freetype/src/base/ftrfork.c
freetype/src/cff/cffpic.c
freetype/src/pfr/pfrobjs.c
freetype/src/winfonts/winfnt.c
Diffstat (limited to 'freetype/src/base/ftglyph.c')
-rw-r--r-- | freetype/src/base/ftglyph.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/freetype/src/base/ftglyph.c b/freetype/src/base/ftglyph.c index 39c52bdd9..0cb780388 100644 --- a/freetype/src/base/ftglyph.c +++ b/freetype/src/base/ftglyph.c @@ -254,7 +254,7 @@ } - FT_DEFINE_GLYPH( ft_outline_glyph_class, + FT_DEFINE_GLYPH( ft_outline_glyph_class, sizeof ( FT_OutlineGlyphRec ), FT_GLYPH_FORMAT_OUTLINE, @@ -512,42 +512,42 @@ FT_Error error = FT_Err_Ok; FT_Glyph glyph; FT_BitmapGlyph bitmap = NULL; - const FT_Glyph_Class* clazz; -#ifdef FT_CONFIG_OPTION_PIC - FT_Library library = FT_GLYPH( glyph )->library; -#endif + /* FT_BITMAP_GLYPH_CLASS_GET derefers `library' in PIC mode */ + FT_Library library; /* check argument */ if ( !the_glyph ) goto Bad; - - /* we render the glyph into a glyph bitmap using a `dummy' glyph slot */ - /* then calling FT_Render_Glyph_Internal() */ - glyph = *the_glyph; if ( !glyph ) goto Bad; - clazz = glyph->clazz; + clazz = glyph->clazz; + library = glyph->library; + if ( !library || !clazz ) + goto Bad; /* when called with a bitmap glyph, do nothing and return successfully */ if ( clazz == FT_BITMAP_GLYPH_CLASS_GET ) goto Exit; - if ( !clazz || !clazz->glyph_prepare ) + if ( !clazz->glyph_prepare ) goto Bad; + /* we render the glyph into a glyph bitmap using a `dummy' glyph slot */ + /* then calling FT_Render_Glyph_Internal() */ + FT_MEM_ZERO( &dummy, sizeof ( dummy ) ); FT_MEM_ZERO( &dummy_internal, sizeof ( dummy_internal ) ); dummy.internal = &dummy_internal; - dummy.library = glyph->library; + dummy.library = library; dummy.format = clazz->glyph_format; /* create result bitmap glyph */ - error = ft_new_glyph( glyph->library, FT_BITMAP_GLYPH_CLASS_GET, + error = ft_new_glyph( library, FT_BITMAP_GLYPH_CLASS_GET, (FT_Glyph*)(void*)&bitmap ); if ( error ) goto Exit; |