98 lines
2.5 KiB
Diff
98 lines
2.5 KiB
Diff
|
--- src/image.c
|
||
|
+++ src/image.c 2013-05-21 15:49:41.945819346 +0000
|
||
|
@@ -7192,7 +7192,11 @@ gif_load (struct frame *f, struct image
|
||
|
}
|
||
|
|
||
|
/* Open the GIF file. */
|
||
|
+#if GIFLIB_MAJOR < 5
|
||
|
gif = fn_DGifOpenFileName (SSDATA (file));
|
||
|
+#else
|
||
|
+ gif = fn_DGifOpenFileName (SSDATA (file), NULL);
|
||
|
+#endif
|
||
|
if (gif == NULL)
|
||
|
{
|
||
|
image_error ("Cannot open `%s'", file, Qnil);
|
||
|
@@ -7213,7 +7217,11 @@ gif_load (struct frame *f, struct image
|
||
|
memsrc.len = SBYTES (specified_data);
|
||
|
memsrc.index = 0;
|
||
|
|
||
|
+#if GIFLIB_MAJOR < 5
|
||
|
gif = fn_DGifOpen (&memsrc, gif_read_from_memory);
|
||
|
+#else
|
||
|
+ gif = fn_DGifOpen (&memsrc, gif_read_from_memory, NULL);
|
||
|
+#endif
|
||
|
if (!gif)
|
||
|
{
|
||
|
image_error ("Cannot open memory source `%s'", img->spec, Qnil);
|
||
|
@@ -7225,7 +7225,11 @@
|
||
|
if (!check_image_size (f, gif->SWidth, gif->SHeight))
|
||
|
{
|
||
|
image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
|
||
|
+#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||
|
+ fn_DGifCloseFile (gif, NULL);
|
||
|
+#else
|
||
|
fn_DGifCloseFile (gif);
|
||
|
+#endif
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@@ -7234,7 +7238,11 @@
|
||
|
if (rc == GIF_ERROR || gif->ImageCount <= 0)
|
||
|
{
|
||
|
image_error ("Error reading `%s'", img->spec, Qnil);
|
||
|
+#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||
|
+ fn_DGifCloseFile (gif, NULL);
|
||
|
+#else
|
||
|
fn_DGifCloseFile (gif);
|
||
|
+#endif
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@@ -7246,7 +7254,11 @@
|
||
|
{
|
||
|
image_error ("Invalid image number `%s' in image `%s'",
|
||
|
image_number, img->spec);
|
||
|
+#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||
|
+ fn_DGifCloseFile (gif, NULL);
|
||
|
+#else
|
||
|
fn_DGifCloseFile (gif);
|
||
|
+#endif
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
@@ -7264,14 +7276,22 @@
|
||
|
if (!check_image_size (f, width, height))
|
||
|
{
|
||
|
image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
|
||
|
+#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||
|
+ fn_DGifCloseFile (gif, NULL);
|
||
|
+#else
|
||
|
fn_DGifCloseFile (gif);
|
||
|
+#endif
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
/* Create the X image and pixmap. */
|
||
|
if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg, &img->pixmap))
|
||
|
{
|
||
|
+#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||
|
+ fn_DGifCloseFile (gif, NULL);
|
||
|
+#else
|
||
|
fn_DGifCloseFile (gif);
|
||
|
+#endif
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@@ -7447,7 +7467,11 @@
|
||
|
Fcons (make_number (gif->ImageCount),
|
||
|
img->lisp_data));
|
||
|
|
||
|
+#if GIFLIB_MAJOR >= 5 && GIFLIB_MINOR >= 1
|
||
|
+ fn_DGifCloseFile (gif, NULL);
|
||
|
+#else
|
||
|
fn_DGifCloseFile (gif);
|
||
|
+#endif
|
||
|
|
||
|
/* Maybe fill in the background field while we have ximg handy. */
|
||
|
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
|