void-packages/srcpkgs/evas/patches/giflib-5.patch
2012-12-22 05:19:28 +01:00

81 lines
2.5 KiB
Diff

--- src/modules/loaders/gif/evas_image_load_gif.c.orig 2012-12-20 23:06:46.000000000 +0100
+++ src/modules/loaders/gif/evas_image_load_gif.c 2012-12-22 05:15:33.315952654 +0100
@@ -684,6 +684,7 @@ evas_image_load_file_head_gif(Image_Entr
int h;
int alpha;
int loop_count = -1;
+ int err = 0;
w = 0;
h = 0;
@@ -700,8 +701,8 @@ evas_image_load_file_head_gif(Image_Entr
return EINA_FALSE;
}
- gif = DGifOpenFileHandle(fd);
- if (!gif)
+ gif = DGifOpenFileHandle(fd, &err);
+ if (err != 0)
{
if (fd) close(fd);
*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -822,7 +823,7 @@ evas_image_load_file_head_gif(Image_Entr
static Eina_Bool
evas_image_load_specific_frame(Image_Entry *ie, const char *file, int frame_index, int *error)
{
- int fd;
+ int fd, err = 0;
GifFileType *gif;
Image_Entry_Frame *frame = NULL;
Gif_Frame *gif_frame = NULL;
@@ -838,8 +839,8 @@ evas_image_load_specific_frame(Image_Ent
return EINA_FALSE;
}
- gif = DGifOpenFileHandle(fd);
- if (!gif)
+ gif = DGifOpenFileHandle(fd, &err);
+ if (err != 0)
{
if (fd) close(fd);
*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -913,7 +914,7 @@ evas_image_load_file_data_gif(Image_Entr
evas_image_load_file_data_gif_internal(ie,frame,error);
else
{
- int fd;
+ int fd, err = 0;
GifFileType *gif;
#ifndef __EMX__
@@ -927,8 +928,8 @@ evas_image_load_file_data_gif(Image_Entr
return EINA_FALSE;
}
- gif = DGifOpenFileHandle(fd);
- if (!gif)
+ gif = DGifOpenFileHandle(fd, &err);
+ if (err != 0)
{
if (fd) close(fd);
*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -976,7 +977,7 @@ evas_image_load_file_data_gif(Image_Entr
static double
evas_image_load_frame_duration_gif(Image_Entry *ie, const char *file, const int start_frame, const int frame_num)
{
- int fd;
+ int fd, err = 0;
GifFileType *gif;
GifRecordType rec;
int done;
@@ -1000,8 +1001,8 @@ evas_image_load_frame_duration_gif(Image
#endif
if (fd < 0) return -1;
- gif = DGifOpenFileHandle(fd);
- if (!gif)
+ gif = DGifOpenFileHandle(fd, &err);
+ if (err != 0)
{
if (fd) close(fd);
return -1;