From: JunsuChoi Date: Mon, 27 Apr 2020 10:29:47 +0000 (+0900) Subject: efl_ui_image: Fix unnecessary unload of memfile_set. X-Git-Tag: submit/tizen/20200427.214018~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f70b11d5214644463e690ad4c046b249107ccb4e;p=platform%2Fupstream%2Fefl.git 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 Change-Id: I5d30e5b35c08481cb2eaa7eb4a45d07e49433082 --- diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c index e27f5c86d7..1e1e3972c3 100644 --- a/src/lib/elementary/efl_ui_image.c +++ b/src/lib/elementary/efl_ui_image.c @@ -2495,7 +2495,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);