diff options
author | Youngbok Shin <youngb.shin@samsung.com> | 2017-01-21 19:00:46 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2017-01-21 19:00:46 +0900 |
commit | 65be73c58f91a768c7f7228e3e83863e90a92ade (patch) | |
tree | 99060b69e70c17006ebaecbc76f46eaa98133449 | |
parent | 9a7d6e610791892fbabdfdc9b8fcdf74a1e7ed5e (diff) | |
download | efl-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.c | 20 |
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 } |