forked from enlightenment/efl
evas/async_render: skip early if text_props with no glyphs
This is intended to preserve old behavior now that we have evas_common_font_draw_cb() to handle both sync and async callbacks. However, we need to check where why we end up with no glyphs in a text_props even after calling evas_common_font_draw_prepare(). SVN revision: 82664
This commit is contained in:
parent
d45a54a0aa
commit
b9f05341c3
|
@ -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 c, cx, cy, cw, ch;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (!glyphs) return;
|
||||||
|
|
||||||
im_w = dst->cache_entry.w;
|
im_w = dst->cache_entry.w;
|
||||||
im_h = dst->cache_entry.h;
|
im_h = dst->cache_entry.h;
|
||||||
|
|
||||||
|
|
|
@ -1968,6 +1968,8 @@ eng_font_draw(void *data EINA_UNUSED, void *context, void *surface, Evas_Font_Se
|
||||||
if (do_async)
|
if (do_async)
|
||||||
{
|
{
|
||||||
evas_common_font_draw_prepare(text_props);
|
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,
|
evas_common_font_draw_cb(surface, context, x, y, text_props->glyphs,
|
||||||
_font_draw_thread_cmd);
|
_font_draw_thread_cmd);
|
||||||
return EINA_TRUE;
|
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
|
#ifdef BUILD_PIPE_RENDER
|
||||||
else if ((cpunum > 1))
|
else if ((cpunum > 1))
|
||||||
evas_common_pipe_text_draw(surface, context, x, y, text_props);
|
evas_common_pipe_text_draw(surface, context, x, y, text_props);
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
evas_common_font_draw_prepare(text_props);
|
evas_common_font_draw_prepare(text_props);
|
||||||
|
|
Loading…
Reference in New Issue