diff options
author | Jean Guyomarc'h <jean.guyomarch@gmail.com> | 2016-03-19 12:22:51 +0100 |
---|---|---|
committer | Jean Guyomarc'h <jean.guyomarch@gmail.com> | 2016-03-19 12:22:51 +0100 |
commit | f46a24ab32a72e13bef5b919cd676be1341ab803 (patch) | |
tree | ba02406f0a5cbf1004e324fcddb740513b9d7377 | |
parent | 181a9f33345fb16af313e7ac743467124fe7a831 (diff) | |
download | efl-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.c | 9 |
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 } } |