diff --git a/src/lib/evas/common/evas_font_draw.c b/src/lib/evas/common/evas_font_draw.c index 9aff3c33fa..84e8062d94 100644 --- a/src/lib/evas/common/evas_font_draw.c +++ b/src/lib/evas/common/evas_font_draw.c @@ -336,6 +336,8 @@ evas_common_font_draw_cb(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y, E int c, cx, cy, cw, ch; int i; + if (!glyphs) return; + im_w = dst->cache_entry.w; im_h = dst->cache_entry.h; diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index b0031b3b70..ce30cd913c 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -1968,6 +1968,8 @@ eng_font_draw(void *data EINA_UNUSED, void *context, void *surface, Evas_Font_Se if (do_async) { evas_common_font_draw_prepare(text_props); + if (!text_props->glyphs) return EINA_FALSE; + evas_common_font_draw_cb(surface, context, x, y, text_props->glyphs, _font_draw_thread_cmd); return EINA_TRUE; @@ -1975,7 +1977,7 @@ eng_font_draw(void *data EINA_UNUSED, void *context, void *surface, Evas_Font_Se #ifdef BUILD_PIPE_RENDER else if ((cpunum > 1)) evas_common_pipe_text_draw(surface, context, x, y, text_props); -#endif +#endif else { evas_common_font_draw_prepare(text_props);