From f5f7bb1ccb2d8cc6e5b7850f4d373a0d1844c3c4 Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 6 Dec 2006 11:28:49 +0000 Subject: Properly free fontconfig patterns git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21517 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/font_load_ft.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libvo') diff --git a/libvo/font_load_ft.c b/libvo/font_load_ft.c index 13529334cd..6f91b72548 100644 --- a/libvo/font_load_ft.c +++ b/libvo/font_load_ft.c @@ -1140,6 +1140,7 @@ void load_font_ft(int width, int height) { #ifdef HAVE_FONTCONFIG FcPattern *fc_pattern; + FcPattern *fc_pattern2; FcChar8 *s; FcBool scalable; #endif @@ -1160,18 +1161,23 @@ void load_font_ft(int width, int height) fc_pattern = FcNameParse(font_name); FcConfigSubstitute(0, fc_pattern, FcMatchPattern); FcDefaultSubstitute(fc_pattern); + fc_pattern2 = fc_pattern; fc_pattern = FcFontMatch(0, fc_pattern, 0); + FcPatternDestroy(fc_pattern2); FcPatternGetBool(fc_pattern, FC_SCALABLE, 0, &scalable); if (scalable != FcTrue) { + FcPatternDestroy(fc_pattern); fc_pattern = FcNameParse("sans-serif"); FcConfigSubstitute(0, fc_pattern, FcMatchPattern); FcDefaultSubstitute(fc_pattern); + fc_pattern2 = fc_pattern; fc_pattern = FcFontMatch(0, fc_pattern, 0); + FcPatternDestroy(fc_pattern2); } // s doesn't need to be freed according to fontconfig docs FcPatternGetString(fc_pattern, FC_FILE, 0, &s); vo_font=read_font_desc_ft(s, width, height); - free(fc_pattern); + FcPatternDestroy(fc_pattern); } else #endif -- cgit v1.2.3