herdsman pushed a commit to branch efl-1.20.

http://git.enlightenment.org/core/efl.git/commit/?id=d24c0431dd474bdcfc46502f35c6c895b7fc855b

commit d24c0431dd474bdcfc46502f35c6c895b7fc855b
Author: Youngbok Shin <[email protected]>
Date:   Mon Sep 4 10:18:05 2017 +0300

    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
---
 src/lib/evas/common/evas_text_utils.c | 3 +--
 1 file changed, 1 insertion(+), 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

-- 


Reply via email to