diff options
author | Youngbok Shin <youngb.shin@samsung.com> | 2017-09-04 10:18:05 +0300 |
---|---|---|
committer | Daniel Hirt <hirt.danny@gmail.com> | 2017-09-04 10:18:05 +0300 |
commit | bf1c0e2657259ab6d6c7ac44408bc46429c9d1c9 (patch) | |
tree | 333f07deaf39bf29c2d5810a89e701145f727bbb /src/lib/evas/common | |
parent | 8574128b67d336e796ca0f0abc9b97e65f7799d4 (diff) |
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
Diffstat (limited to 'src/lib/evas/common')
-rw-r--r-- | src/lib/evas/common/evas_text_utils.c | 3 |
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, | |||
352 | evas_common_font_ot_populate_text_props(text, text_props, len, mode, lang); | 352 | evas_common_font_ot_populate_text_props(text, text_props, len, mode, lang); |
353 | 353 | ||
354 | gl_itr = text_props->info->glyph; | 354 | gl_itr = text_props->info->glyph; |
355 | for (char_index = 0 ; char_index < text_props->len ; char_index++) | 355 | for (char_index = 0 ; char_index < text_props->len ; char_index++, gl_itr++) |
356 | { | 356 | { |
357 | FT_UInt idx; | 357 | FT_UInt idx; |
358 | RGBA_Font_Glyph *fg; | 358 | RGBA_Font_Glyph *fg; |
@@ -406,7 +406,6 @@ _content_create_ot(RGBA_Font_Int *fi, const Eina_Unicode *text, | |||
406 | gl_itr->pen_after += adjust_x; | 406 | gl_itr->pen_after += adjust_x; |
407 | 407 | ||
408 | fi = text_props->font_instance; | 408 | fi = text_props->font_instance; |
409 | gl_itr++; | ||
410 | } | 409 | } |
411 | } | 410 | } |
412 | #else | 411 | #else |