hermet pushed a commit to branch master.

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

commit 1e6246df24f84eebda95c9d18f90ead3f803789e
Author: Hermet Park <her...@hermet.pe.kr>
Date:   Mon Dec 5 18:03:01 2016 +0900

    evas textblock: fix a rendering issue.
    
    It's a rare case but a possible scenario that textblock is not updated
     properly in case of textblock rendering via proxy/map.
    
    If the textblock state turned out with an invisible state,
    its relayouting won't be up to date. But actually, it could be rendered
    by map/proxy. In that case textblock text layouting would be incorrect.
    
    Additionally, removed evas event freeze state there because map/proxy won't
    be drawn under the event freeze state always.
    
    @fix
---
 src/lib/evas/canvas/evas_object_textblock.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 6451d7b..d251ce4 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -12754,11 +12754,12 @@ evas_object_textblock_render(Evas_Object *eo_obj 
EINA_UNUSED,
        {0, 1, 2, 1, 0}
      };
 
-   /* [FIXME!!!] rare case when relayout was not called: cache.clip made
-    * the object not visible (eg. clipped out), but it is actually visible
-    * in this context (eg. inside a proxy) - UGLY DIRTY FIX */
-   if (obj->layer->evas->is_frozen &&
-       (o->changed || o->content_changed || o->format_changed || 
o->obstacle_changed))
+   /* FIXME: rare case when relayout was not called: cache.clip made
+      the object not visible (eg. clipped out), but it is actually visible
+      in this context (eg. inside a proxy).
+      Plus, one more scenario is that the object isn't visible but actually is 
visible
+      by evas_map. */
+   if (o->changed || o->content_changed || o->format_changed || 
o->obstacle_changed)
        _relayout_if_needed(eo_obj, o);
 
    /* If there are no paragraphs and thus there are no lines,

-- 


Reply via email to