summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungbok Shin <youngb.shin@samsung.com>2017-01-21 19:00:46 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-01-21 19:00:46 +0900
commit65be73c58f91a768c7f7228e3e83863e90a92ade (patch)
tree99060b69e70c17006ebaecbc76f46eaa98133449
parent9a7d6e610791892fbabdfdc9b8fcdf74a1e7ed5e (diff)
downloadefl-65be73c58f91a768c7f7228e3e83863e90a92ade.tar.gz
evas font: revise evas_font_init/reinit functions
Summary: The static flag in evas_font_init() was not useful. It could be replaced by checking address of "fc_config". FcInitReinitialize() function was not necessary to reload configure and font files in Evas. It would be meaningful when only Evas use Fontconfig's function without own "fc_config". To reload "fc_config", calling FcInitLoadConfigAndFonts() is enough. And there is no need to load "fc_config" from evas_font_reinit() when "fc_config" is not prepared. Test Plan: N/A Reviewers: herdsman, raster, tasn, cedric, woohyun Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D4612
-rw-r--r--src/lib/evas/canvas/evas_font_dir.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/lib/evas/canvas/evas_font_dir.c b/src/lib/evas/canvas/evas_font_dir.c
index 8d36049445..682f80ff46 100644
--- a/src/lib/evas/canvas/evas_font_dir.c
+++ b/src/lib/evas/canvas/evas_font_dir.c
@@ -59,12 +59,9 @@ static FcConfig *fc_config = NULL;
static void
evas_font_init(void)
{
- static Eina_Bool fc_init = EINA_FALSE;
- if (fc_init)
- return;
- fc_init = EINA_TRUE;
#ifdef HAVE_FONTCONFIG
- fc_config = FcInitLoadConfigAndFonts();
+ if (!fc_config)
+ fc_config = FcInitLoadConfigAndFonts();
#endif
}
@@ -1531,12 +1528,13 @@ evas_font_reinit(void)
Eina_List *l;
char *path;
- if (fc_config) FcConfigDestroy(fc_config);
-
- FcInitReinitialize();
- fc_config = FcInitLoadConfigAndFonts();
+ if (fc_config)
+ {
+ FcConfigDestroy(fc_config);
+ fc_config = FcInitLoadConfigAndFonts();
- EINA_LIST_FOREACH(global_font_path, l, path)
- FcConfigAppFontAddDir(fc_config, (const FcChar8 *) path);
+ EINA_LIST_FOREACH(global_font_path, l, path)
+ FcConfigAppFontAddDir(fc_config, (const FcChar8 *) path);
+ }
#endif
}