[vlc-devel] commit: freetype: more fontconfig error-checking (Ilkka Ollakka )
git version control
git at videolan.org
Wed Jul 29 11:27:31 CEST 2009
vlc | branch: master | Ilkka Ollakka <ileoo at videolan.org> | Wed Jul 29 12:27:05 2009 +0300| [06c78e201961ee5847a9cdc2863834001b2cbfd1] | committer: Ilkka Ollakka
freetype: more fontconfig error-checking
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=06c78e201961ee5847a9cdc2863834001b2cbfd1
---
modules/misc/freetype.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/modules/misc/freetype.c b/modules/misc/freetype.c
index a0c3a93..f77cdc4 100644
--- a/modules/misc/freetype.c
+++ b/modules/misc/freetype.c
@@ -348,14 +348,19 @@ static int Create( vlc_object_t *p_this )
char *psz_fontsize;
if( asprintf( &psz_fontsize, "%d", p_sys->i_default_font_size ) == -1 )
goto error;
+
fontpattern = FcPatternCreate();
+
+ if( !fontpattern )
+ goto error;
+
FcPatternAddString( fontpattern, FC_FAMILY, psz_fontfamily);
FcPatternAddString( fontpattern, FC_SIZE, psz_fontsize );
+ free( psz_fontsize );
if( FcConfigSubstitute( NULL, fontpattern, FcMatchPattern ) == FcFalse )
{
FcPatternDestroy( fontpattern );
- free( psz_fontsize );
goto error;
}
FcDefaultSubstitute( fontpattern );
@@ -363,15 +368,12 @@ static int Create( vlc_object_t *p_this )
fontmatch = FcFontMatch( NULL, fontpattern, &fontresult );
if( fontresult == FcResultNoMatch )
{
- free( psz_fontsize );
FcPatternDestroy( fontpattern );
- FcPatternDestroy( fontmatch );
goto error;
}
FcPatternGetString( fontmatch, FC_FILE, 0, (FcChar8 **)&psz_fontfile);
FcPatternGetInteger( fontmatch, FC_INDEX, 0, &fontindex );
- free( psz_fontsize );
if( !psz_fontfile )
{
FcPatternDestroy( fontpattern );
More information about the vlc-devel
mailing list