summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungbok Shin <youngb.shin@samsung.com>2017-09-04 10:18:05 +0300
committerDaniel Hirt <hirt.danny@gmail.com>2017-09-04 10:49:13 +0300
commitd24c0431dd474bdcfc46502f35c6c895b7fc855b (patch)
treea1162200859a3d3be1705725232cec8d56f62cce
parent90931fc3b871be6e5d706bd67a610b696f379d7f (diff)
downloadefl-d24c0431dd474bdcfc46502f35c6c895b7fc855b.tar.gz
evas: proceed glyph iterator to handle next index properly
Summary: When harfbuzz is enabled, _content_create_ot() function will be used for shaping. If evas_common_font_int_cache_glyph_get() failed in some reason, it never proceed gl_itr until the end. It can cause weird rendering result. Because, all of gl_itr after the failure can't have proper x_bear, y_bear and width. @fix Test Plan: N/A Reviewers: raster, cedric, herdsman, jpeg Differential Revision: https://phab.enlightenment.org/D5154
-rw-r--r--src/lib/evas/common/evas_text_utils.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lib/evas/common/evas_text_utils.c b/src/lib/evas/common/evas_text_utils.c
index 9223c6e50b..5c00c7fb54 100644
--- a/src/lib/evas/common/evas_text_utils.c
+++ b/src/lib/evas/common/evas_text_utils.c
@@ -352,7 +352,7 @@ _content_create_ot(RGBA_Font_Int *fi, const Eina_Unicode *text,
evas_common_font_ot_populate_text_props(text, text_props, len, mode, lang);
gl_itr = text_props->info->glyph;
- for (char_index = 0 ; char_index < text_props->len ; char_index++)
+ for (char_index = 0 ; char_index < text_props->len ; char_index++, gl_itr++)
{
FT_UInt idx;
RGBA_Font_Glyph *fg;
@@ -406,7 +406,6 @@ _content_create_ot(RGBA_Font_Int *fi, const Eina_Unicode *text,
gl_itr->pen_after += adjust_x;
fi = text_props->font_instance;
- gl_itr++;
}
}
#else