From 26b58098bc442c0e6129bb706bab3d50f592531e Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Fri, 29 Sep 2017 15:16:21 +0900 Subject: [PATCH] evas font: check returned value of FcPatternGet function Summary: Evas should add font when only FcPatternGet function gives matched result. @fix Test Plan: N/A Reviewers: raster, cedric, herdsman, jpeg Differential Revision: https://phab.enlightenment.org/D5236 --- src/lib/evas/canvas/evas_font_dir.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/evas/canvas/evas_font_dir.c b/src/lib/evas/canvas/evas_font_dir.c index 6514b0ffd4..e120f682d6 100644 --- a/src/lib/evas/canvas/evas_font_dir.c +++ b/src/lib/evas/canvas/evas_font_dir.c @@ -244,14 +244,15 @@ _evas_load_fontconfig(Evas_Font_Set *font, Evas *eo_evas, FcFontSet *set, int si /* Do loading for all in family */ for (i = 0; i < set->nfont; i++) { - FcValue filename; + FcValue filename; - FcPatternGet(set->fonts[i], FC_FILE, 0, &filename); - - if (font) - evas->engine.func->font_add(_evas_engine_context(evas), font, (char *)filename.u.s, size, wanted_rend, bitmap_scalable); - else - font = evas->engine.func->font_load(_evas_engine_context(evas), (char *)filename.u.s, size, wanted_rend, bitmap_scalable); + if (FcPatternGet(set->fonts[i], FC_FILE, 0, &filename) == FcResultMatch) + { + if (font) + evas->engine.func->font_add(_evas_engine_context(evas), font, (char *)filename.u.s, size, wanted_rend, bitmap_scalable); + else + font = evas->engine.func->font_load(_evas_engine_context(evas), (char *)filename.u.s, size, wanted_rend, bitmap_scalable); + } } return font;