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
This commit is contained in:
junsu choi 2020-04-27 19:29:47 +09:00 committed by Hermet Park
parent 4cf59afcc9
commit 0b28f9df54
1 changed files with 4 additions and 1 deletions

View File

@ -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);