fix evas image loading error reporting.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Tue, 22 Dec 2009 23:11:57 +0000 (23:11 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Tue, 22 Dec 2009 23:11:57 +0000 (23:11 +0000)
commit51c00c6526821e97442204e8a18e46fcc4b73fd9
treec83cb571f577b3191b3507005c5211d4632599bf
parent0a9456ccf73706efac262f5844cb58e22984bd19
fix evas image loading error reporting.

Evas image load was always reporint "generic" error, since it was
disconnected from actual loader modules.

This commit will break the module loader API (as it's restricted to
inside Evas, this should be no problem). The return was turned into
"Eina_Bool" for clarity, while an extra "int *error" is responsible to
report errors. This approach was choosen to force compiler warnings
and to try avoid mistakes as EINA_FALSE == EVAS_LOAD_ERROR_NONE and
thus we'd get opposite behavior if something slips.

Most loaders play well, except by eet that does not provide means to
know if the file open failed due missing file, incorrect format or
corrupted file :-(

Please report any issues. I added eina_log debugging to loader
functions, just run your Evas application as:

     EINA_LOG_LEVELS=evas_main:4 your_app

SVN revision: 44666
33 files changed:
legacy/evas/src/lib/Evas.h
legacy/evas/src/lib/cache/evas_cache.h
legacy/evas/src/lib/cache/evas_cache_engine_image.c
legacy/evas/src/lib/cache/evas_cache_image.c
legacy/evas/src/lib/canvas/evas_object_image.c
legacy/evas/src/lib/engines/common/evas_image.h
legacy/evas/src/lib/engines/common/evas_image_load.c
legacy/evas/src/lib/engines/common/evas_image_main.c
legacy/evas/src/lib/imaging/evas_imaging.c
legacy/evas/src/lib/include/evas_common.h
legacy/evas/src/lib/include/evas_private.h
legacy/evas/src/modules/engines/cairo_x11/evas_engine.c
legacy/evas/src/modules/engines/directfb/evas_engine.c
legacy/evas/src/modules/engines/gl_common/evas_gl_common.h
legacy/evas/src/modules/engines/gl_common/evas_gl_image.c
legacy/evas/src/modules/engines/gl_glew/evas_engine.c
legacy/evas/src/modules/engines/gl_x11/evas_engine.c
legacy/evas/src/modules/engines/quartz/evas_engine.c
legacy/evas/src/modules/engines/software_16_sdl/evas_engine.c
legacy/evas/src/modules/engines/software_generic/evas_engine.c
legacy/evas/src/modules/engines/software_sdl/evas_engine.c
legacy/evas/src/modules/engines/xrender_x11/evas_engine.h
legacy/evas/src/modules/engines/xrender_x11/evas_engine_xcb_image.c
legacy/evas/src/modules/engines/xrender_x11/evas_engine_xlib_image.c
legacy/evas/src/modules/loaders/edb/evas_image_load_edb.c
legacy/evas/src/modules/loaders/eet/evas_image_load_eet.c
legacy/evas/src/modules/loaders/gif/evas_image_load_gif.c
legacy/evas/src/modules/loaders/jpeg/evas_image_load_jpeg.c
legacy/evas/src/modules/loaders/pmaps/evas_image_load_pmaps.c
legacy/evas/src/modules/loaders/png/evas_image_load_png.c
legacy/evas/src/modules/loaders/svg/evas_image_load_svg.c
legacy/evas/src/modules/loaders/tiff/evas_image_load_tiff.c
legacy/evas/src/modules/loaders/xpm/evas_image_load_xpm.c