hermet pushed a commit to branch master.

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

commit 0b28f9df54a7b95d9f5275f23a36c23bc71b6f5a
Author: JunsuChoi <[email protected]>
Date:   Mon Apr 27 19:29:47 2020 +0900

    efl_ui_image: Fix unnecessary unload of memfile_set.
    
    Summary:
    In D11392, fixed to call file_unload when doing memfile_set.
    Therefore, "load,error" callback was called while unloading object
    that was not loaded when first load with memfile_set.
    So fix it to avoid unnecessary unloading.
    
    Test Plan:
    {F3871804}
    cp ./test_imge.c ./efl/
    cd efl
    gcc -o test_image test_image.c -g `pkg-config --cflags --libs elementary`
    
    ./test_image
    Loading image...
    Async file load failed.
    Image is ready to show.
    
    Reviewers: Hermet, kimcinoo, herb
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers, zmike
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11758
---
 src/lib/elementary/efl_ui_image.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 1ba7fe5037..7cb96970b0 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -2480,7 +2480,10 @@ elm_image_memfile_set(Evas_Object *obj, const void *img, 
size_t size, const char
    EFL_UI_IMAGE_CHECK(obj) EINA_FALSE;
    EFL_UI_IMAGE_DATA_GET(obj, sd);
 
-   efl_file_unload(obj);
+   if (efl_file_loaded_get(obj))
+     efl_file_unload(obj);
+   else
+     _efl_ui_image_file_set_do(obj);
 
    evas_object_image_memfile_set
      (sd->img, (void *)img, size, (char *)format, (char *)key);

-- 


Reply via email to