1 --- imlib-1.9.15/gdk_imlib/io-gif.c.orig 2014-02-02 08:59:39.063076948 +0100
2 +++ imlib-1.9.15/gdk_imlib/io-gif.c 2014-02-02 09:09:41.823051652 +0100
7 +static void print_gif_error(int error_code)
9 + const char *err = GifErrorString(error_code);
10 + fprintf(stderr, "gdk_imlib: giflib error %d: %s.\n", error_code, err);
14 loader_gif(FILE *f, int *w, int *h, int *t)
17 int intjump[] = {8, 8, 4, 2};
26 /* Apparently rewind(f) isn't sufficient */
27 lseek(fd, (long) 0, 0);
28 - gif = DGifOpenFileHandle(fd);
29 + gif = DGifOpenFileHandle(fd, &giferr);
35 if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
38 + print_gif_error(gif->Error);
39 rec = TERMINATE_RECORD_TYPE;
41 if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
43 if (DGifGetImageDesc(gif) == GIF_ERROR)
46 + print_gif_error(gif->Error);
47 rec = TERMINATE_RECORD_TYPE;
49 *w = gif->Image.Width;
51 rows = malloc(*h * sizeof(GifRowType *));
55 + DGifCloseFile(gif, &giferr);
58 data = _gdk_malloc_image(*w, *h);
62 + DGifCloseFile(gif, &giferr);
67 rows[i] = malloc(*w * sizeof(GifPixelType));
71 + DGifCloseFile(gif, &giferr);
72 for (i = 0; i < *h; i++)
80 + DGifCloseFile(gif, &giferr);
81 for (i = 0; i < *h; i++)
84 --- imlib-1.9.15/Imlib/load.c.orig 2014-02-02 08:59:39.119743612 +0100
85 +++ imlib-1.9.15/Imlib/load.c 2014-02-02 09:16:12.426368593 +0100
87 #endif /* HAVE_LIBTIFF */
90 +static void print_gif_error(int error_code)
92 + const char *err = GifErrorString(error_code);
93 + fprintf(stderr, "gdk_imlib: giflib error %d: %s.\n", error_code, err);
97 _LoadGIF(ImlibData * id, FILE *f, int *w, int *h, int *t)
100 int intjump[] = {8, 8, 4, 2};
101 int istransp, transp;
109 /* Apparently rewind(f) isn't sufficient */
110 lseek(fd, (long) 0, 0);
111 - gif = DGifOpenFileHandle(fd);
112 + gif = DGifOpenFileHandle(fd, &giferr);
116 @@ -460,14 +466,14 @@
118 if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
121 + print_gif_error(gif->Error);
122 rec = TERMINATE_RECORD_TYPE;
124 if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
126 if (DGifGetImageDesc(gif) == GIF_ERROR)
129 + print_gif_error(gif->Error);
130 rec = TERMINATE_RECORD_TYPE;
132 *w = gif->Image.Width;
133 @@ -486,13 +486,13 @@
134 rows = malloc(*h * sizeof(GifRowType *));
137 - DGifCloseFile(gif);
138 + DGifCloseFile(gif, &giferr);
141 data = _imlib_malloc_image(*w, *h);
144 - DGifCloseFile(gif);
145 + DGifCloseFile(gif, &giferr);
150 rows[i] = malloc(*w * sizeof(GifPixelType));
153 - DGifCloseFile(gif);
154 + DGifCloseFile(gif, &giferr);
155 for (i = 0; i < *h; i++)
162 - DGifCloseFile(gif);
163 + DGifCloseFile(gif, &giferr);
164 for (i = 0; i < *h; i++)