summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-06 11:28:49 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-06 11:28:49 +0000
commitf5f7bb1ccb2d8cc6e5b7850f4d373a0d1844c3c4 (patch)
tree3293f39c42313fd37a8013205dfa931ce95aa802 /libvo
parenta4147be5f7d8e7c407d85fad9a6411b8a5881e1a (diff)
downloadmpv-f5f7bb1ccb2d8cc6e5b7850f4d373a0d1844c3c4.tar.bz2
mpv-f5f7bb1ccb2d8cc6e5b7850f4d373a0d1844c3c4.tar.xz
Properly free fontconfig patterns
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21517 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/font_load_ft.c8
1 files changed, 7 insertions, 1 deletions
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