summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean Guyomarc'h <jean.guyomarch@gmail.com>2016-03-19 12:22:51 +0100
committerJean Guyomarc'h <jean.guyomarch@gmail.com>2016-03-19 12:22:51 +0100
commitf46a24ab32a72e13bef5b919cd676be1341ab803 (patch)
treeba02406f0a5cbf1004e324fcddb740513b9d7377
parent181a9f33345fb16af313e7ac743467124fe7a831 (diff)
downloadefl-devs/jayji/fixes.tar.gz
edje_cc: fix misleading errordevs/jayji/fixes
edje_cc tries several images paths when searching for an image. It stops its search only when the image was successfully loaded or all paths have been tested. If a load failed for some reason, but the file DOES exist, the relevant error, that contains the real reason of the failure will be overwriten by what is very likely to be "File Not Found" since another path has been tested, due to the failure of the previous one. In such case, the user received the "File Not Found" error, which is not the reason of the failure. @fix
-rw-r--r--src/bin/edje/edje_cc_out.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index 3a063babbe..62424ef962 100644
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -1254,6 +1254,7 @@ data_write_images(Eet_File *ef, int *image_num)
Eina_List *ll;
char *s;
int load_err = EVAS_LOAD_ERROR_NONE;
+ int relevant_load_error = EVAS_LOAD_ERROR_DOES_NOT_EXIST;
Image_Write *iw;
img = &edje_file->image_dir->entries[i];
@@ -1304,6 +1305,8 @@ data_write_images(Eet_File *ef, int *image_num)
data_image_preload_done(iw, evas, im, NULL);
break;
}
+ else if (load_err != EVAS_LOAD_ERROR_DOES_NOT_EXIST)
+ relevant_load_error = load_err;
}
if (load_err != EVAS_LOAD_ERROR_NONE)
{
@@ -1323,7 +1326,11 @@ data_write_images(Eet_File *ef, int *image_num)
else
{
free(iw);
- error_and_abort_image_load_error(ef, img->entry, load_err);
+ error_and_abort_image_load_error(
+ ef, img->entry,
+ (relevant_load_error != EVAS_LOAD_ERROR_DOES_NOT_EXIST)
+ ? relevant_load_error
+ : load_err);
exit(1); // ensure static analysis tools know we exit
}
}