jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e7e3f73bbe9f21dfb4ee1fc692e0fcfb12b0cdc5
commit e7e3f73bbe9f21dfb4ee1fc692e0fcfb12b0cdc5 Author: Jean-Philippe Andre <[email protected]> Date: Mon Feb 17 16:56:28 2014 +0900 Gif: Fix animated gifs when used as proxy sources This looks like a typo: if (animated > 1) when animated is a... Bool! So, I am not entirely sure why this bug is visible in case of gif proxies, all it seems that the load_data function may be called multiple times when the object is visible. So gif close and reopen happen properly, and the first frame can be decoded. --- src/modules/evas/loaders/gif/evas_image_load_gif.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/evas/loaders/gif/evas_image_load_gif.c b/src/modules/evas/loaders/gif/evas_image_load_gif.c index e01e276..3f6fbdb 100644 --- a/src/modules/evas/loaders/gif/evas_image_load_gif.c +++ b/src/modules/evas/loaders/gif/evas_image_load_gif.c @@ -604,8 +604,7 @@ open_file: // if we want to go backwards, we likely need/want to re-decode from the // start as we have nothnig to build on - if ((index > 0) && (index < loader->imgnum) && - (animated->animated > 1)) + if ((index > 0) && (index < loader->imgnum) && (animated->animated)) { if (loader->gif) DGifCloseFile(loader->gif); if ((loader->fi.map) && (loader->f)) --
