evas font: check returned value of FcPatternGet function 06/154406/2
authorYoungbok Shin <youngb.shin@samsung.com>
Fri, 29 Sep 2017 06:16:21 +0000 (15:16 +0900)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Tue, 10 Oct 2017 11:02:55 +0000 (11:02 +0000)
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

Change-Id: I19bfbfb6a041b896a675b177d65f8cce32f1f3b3

src/lib/evas/canvas/evas_font_dir.c

index 9e2a237..f5588a7 100644 (file)
@@ -249,14 +249,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.data.output, font, (char *)filename.u.s, size, wanted_rend);
-       else
-         font = evas->engine.func->font_load(evas->engine.data.output, (char *)filename.u.s, size, wanted_rend);
+        if (FcPatternGet(set->fonts[i], FC_FILE, 0, &filename) == FcResultMatch)
+          {
+             if (font)
+               evas->engine.func->font_add(evas->engine.data.output, font, (char *)filename.u.s, size, wanted_rend);
+             else
+               font = evas->engine.func->font_load(evas->engine.data.output, (char *)filename.u.s, size, wanted_rend);
+          }
      }
 
    return font;