hermet pushed a commit to branch master.

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

commit 5b349c1ea1a580c81bec2eb726d8cf7cfc311c82
Author: Shinwoo Kim <[email protected]>
Date:   Mon Feb 17 21:29:56 2020 +0900

    elm_transit: remove unnecessary image preload invocation
    
    Summary:
    If user uses image object with following step, then unnecessary preloading
    related line is invocated in elm_image_file_set.
    
    elm_image_file_set(obj, file, NULL)
    elm_icon_preload_disabled_set(obj, EINA_TRUE)
    
    The following is the preloading related line triggered by 
elm_image_file_set.
    
    (#0) _image_preload_internal
    (#1) _evas_image_load_async_start
    (#2) evas_object_image_preload
    (#3) _efl_ui_image_smart_internal_file_set
    (#4) _efl_ui_image_efl_file_load
    (#5) efl_file_load
    (#6) efl_file_simple_load
    (#7) elm_image_file_set
    
    Moreover there is a flickering issue caused by the unnecessary preloading.
    A test code is attached.
    
    Test Plan:
    Use following test code. The flickering issue occurs with `ELM_SCALE=10 
ELM_ACCEL=gl ./test_transit`
    {F3847288}
    
    Reviewers: Hermet, jsuya
    
    Reviewed By: Hermet, jsuya
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11364
---
 src/lib/elementary/elm_transit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c
index 39dc755604..590c416535 100644
--- a/src/lib/elementary/elm_transit.c
+++ b/src/lib/elementary/elm_transit.c
@@ -2621,8 +2621,8 @@ _transit_effect_image_animation_op(Elm_Transit_Effect 
*effect, Elm_Transit *tran
              const char *file = eina_list_nth(image_animation->images,
                                               idx);
 
-             elm_image_file_set(obj, file, NULL);
              elm_image_preload_disabled_set(obj, EINA_TRUE);
+             elm_image_file_set(obj, file, NULL);
           }
      }
 

-- 


Reply via email to