summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_object_image.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/evas/canvas/evas_object_image.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index fb878c030d..641e8a4e28 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -1312,6 +1312,8 @@ _evas_image_load(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Imag
1312 { 1312 {
1313 const char *file2 = o->cur->u.file; 1313 const char *file2 = o->cur->u.file;
1314 1314
1315 if (o->file_obj) efl_del(o->file_obj);
1316 o->file_obj = NULL;
1315 if (file2) 1317 if (file2)
1316 { 1318 {
1317 o->file_obj = efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, file2); 1319 o->file_obj = efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, file2);
@@ -1321,6 +1323,11 @@ _evas_image_load(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Imag
1321 file2 = efl_vpath_file_result_get(o->file_obj); 1323 file2 = efl_vpath_file_result_get(o->file_obj);
1322 } 1324 }
1323 o->engine_data = ENFN->image_load(ENDT, file2, o->cur->key, &o->load_error, &lo); 1325 o->engine_data = ENFN->image_load(ENDT, file2, o->cur->key, &o->load_error, &lo);
1326 if ((o->file_obj) && (!efl_vpath_file_keep_get(o->file_obj)))
1327 {
1328 efl_del(o->file_obj);
1329 o->file_obj = NULL;
1330 }
1324 } 1331 }
1325 1332
1326 if (o->engine_data) 1333 if (o->engine_data)