netstar pushed a commit to branch master.

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

commit fcb48ef4022a49b147ad4daf4bb1f958d039b07a
Author: Alastair Poole <[email protected]>
Date:   Thu Mar 12 16:52:41 2020 +0000

    evas_object_box: respect static clipper.
    
    Check here for a static clipper else  the clipper
    will move. This causes problems with very large boxes where
    content will stop rendering due to the clipper moving.
    
    Originally this wasn't meant to move but this was missed with the
    API changes. It wasn't noticed as the clipper default size is
    very large.
    
    See: src/lib/evas/canvas/evas_object_smart.c.
    
    If we exceed the 10k range content does not render due to the
    move.
    
    @fix
---
 src/lib/evas/canvas/evas_object_box.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_box.c 
b/src/lib/evas/canvas/evas_object_box.c
index 7853ee3e10..e591bae0e5 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -445,7 +445,9 @@ _evas_box_efl_gfx_entity_position_set(Eo *o, 
Evas_Object_Box_Data *_pd EINA_UNUS
    if (_evas_object_intercept_call(o, EVAS_OBJECT_INTERCEPT_CB_MOVE , 0, 
pos.x, pos.y))
      return;
 
-   efl_gfx_entity_position_set(cso->clipper, pos);
+   if (!evas_object_static_clip_get(cso->clipper))
+     efl_gfx_entity_position_set(cso->clipper, pos);
+
    /* this skips the call to _evas_object_smart_clipped_smart_move_internal
     * since box internals will automatically recalc all the child positions
     * at a later point

-- 


Reply via email to