hermet pushed a commit to branch master.

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

commit 104caf05148a79e195179e723e508f21b8664b07
Author: Shinwoo Kim <cinoo....@samsung.com>
Date:   Mon May 25 14:48:31 2020 +0900

    evas image: reload after alpha_set
    
    Summary:
    The alpha_set cancels preload, and do not try to load it again.
    So the image is not showing, if the alpha_set is called while preloading.
    
    [Sample]
       Evas_Object *image = elm_image_add(box);
       elm_box_pack_end(box, image);
       evas_object_show(image);
    
       elm_image_file_set(image, "img.png", NULL);     // start preloading
    
       Evas_Object *eimg = elm_image_object_get(image);
       evas_object_image_alpha_set(eimg, EINA_TRUE);   // cancel preloading
    
    Reviewers: Hermet, jsuya, herb
    
    Reviewed By: Hermet
    
    Subscribers: zmike, cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11864
---
 src/lib/evas/canvas/evas_object_image.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 958fabaf00..1e8e32cd94 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -1142,6 +1142,10 @@ _efl_canvas_image_internal_efl_gfx_buffer_alpha_set(Eo 
*eo_obj, Evas_Image_Data
 {
    Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
 
+   has_alpha = !!has_alpha;
+   if (has_alpha == o->cur->has_alpha)
+     return;
+
    evas_object_async_block(obj);
    if ((o->preload & EVAS_IMAGE_PRELOADING) && (o->engine_data))
      {
@@ -1149,10 +1153,6 @@ _efl_canvas_image_internal_efl_gfx_buffer_alpha_set(Eo 
*eo_obj, Evas_Image_Data
         ENFN->image_data_preload_cancel(ENC, o->engine_data, eo_obj, 
EINA_TRUE);
      }
 
-   has_alpha = !!has_alpha;
-   if (has_alpha == o->cur->has_alpha)
-     return;
-
    EINA_COW_IMAGE_STATE_WRITE_BEGIN(o, state_write)
    {
       state_write->has_alpha = has_alpha;

-- 


Reply via email to