summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2013-08-17 11:15:58 +0000
committerjoerg <joerg@pkgsrc.org>2013-08-17 11:15:58 +0000
commit9c4e293b1ddcb98f323a2bd7bc3353f7f9e69b3d (patch)
tree8199a977f01c3c37e5c944a7de47803a93785011 /graphics
parent634797e6590ae3062c9e1a3ac5c1872f190c6a73 (diff)
downloadpkgsrc-9c4e293b1ddcb98f323a2bd7bc3353f7f9e69b3d.tar.gz
Fix build with new giflib.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/imlib/distinfo4
-rw-r--r--graphics/imlib/patches/patch-ak63
2 files changed, 55 insertions, 12 deletions
diff --git a/graphics/imlib/distinfo b/graphics/imlib/distinfo
index f4613b2dd40..c680fb7e11b 100644
--- a/graphics/imlib/distinfo
+++ b/graphics/imlib/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.21 2013/08/15 16:26:36 joerg Exp $
+$NetBSD: distinfo,v 1.22 2013/08/17 11:15:58 joerg Exp $
SHA1 (imlib-1.9.15.tar.bz2) = c9a732a354fbb3c7e1a426e5d19fc92d73f8f720
RMD160 (imlib-1.9.15.tar.bz2) = 195b80833167134ba2d9a9574d420279f9cf55f4
@@ -12,7 +12,7 @@ SHA1 (patch-ag) = 7ef3980a6a3eccba41895ef86eae727cd7dfb1e2
SHA1 (patch-ah) = edee5311a47d552f9d1b9dcb96f256518040c538
SHA1 (patch-ai) = df13b72272f754375348437b99d962cb17732619
SHA1 (patch-aj) = 60171b7341c65fb6eb0a93738fef4b2c31692bdf
-SHA1 (patch-ak) = 4d7ae79f23bf0c64fd85ffebc086b7bb43207718
+SHA1 (patch-ak) = f9f9644a3a93d4e4992e2205c30de5769730bb38
SHA1 (patch-al) = 4ad51c7128f7d6a5ecc67f51c745caf53a4def06
SHA1 (patch-am) = 73c62e11f5b6ac6774e51f8183987b2b4db01465
SHA1 (patch-an) = 260aeece3eb74d3ec11deed4e38fd46d3f1cde79
diff --git a/graphics/imlib/patches/patch-ak b/graphics/imlib/patches/patch-ak
index 1d640290d70..dc731106f54 100644
--- a/graphics/imlib/patches/patch-ak
+++ b/graphics/imlib/patches/patch-ak
@@ -1,13 +1,56 @@
-$NetBSD: patch-ak,v 1.1 2004/12/10 09:30:42 salo Exp $
+$NetBSD: patch-ak,v 1.2 2013/08/17 11:15:58 joerg Exp $
---- gdk_imlib/io-gif.c.orig 2002-03-04 18:06:29.000000000 +0100
-+++ gdk_imlib/io-gif.c 2004-12-10 10:00:56.000000000 +0100
-@@ -55,7 +55,7 @@
- }
- *w = gif->Image.Width;
- *h = gif->Image.Height;
-- if(*h > 32767 || *w > 32767)
-+ if(*h <= 0 || *h > 32767 || *w <= 0 || *w > 32767)
+--- gdk_imlib/io-gif.c.orig 2002-03-04 17:06:29.000000000 +0000
++++ gdk_imlib/io-gif.c
+@@ -10,6 +10,16 @@ unsigned char loader_gif (FILE *f, int *
+ #else
+ #include <gif_lib.h>
+
++static void
++PrintGifError(int ErrorCode) {
++ char *Err = GifErrorString(ErrorCode);
++
++ if (Err != NULL)
++ fprintf(stderr, "GIF-LIB error: %s.\n", Err);
++ else
++ fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode);
++}
++
+ unsigned char *
+ loader_gif(FILE *f, int *w, int *h, int *t)
+ {
+@@ -22,7 +32,7 @@ loader_gif(FILE *f, int *w, int *h, int
+ int intoffset[] = {0, 4, 2, 1};
+ int intjump[] = {8, 8, 4, 2};
+ int istransp, transp;
+- int fd;
++ int fd, giferror = 0;
+
+ done = 0;
+ istransp = 0;
+@@ -30,7 +40,7 @@ loader_gif(FILE *f, int *w, int *h, int
+ fd = fileno(f);
+ /* Apparently rewind(f) isn't sufficient */
+ lseek(fd, (long) 0, 0);
+- gif = DGifOpenFileHandle(fd);
++ gif = DGifOpenFileHandle(fd, &giferror);
+
+ transp = -1;
+ data = NULL;
+@@ -43,14 +53,14 @@ loader_gif(FILE *f, int *w, int *h, int
+ {
+ if (DGifGetRecordType(gif, &rec) == GIF_ERROR)
+ {
+- PrintGifError();
++ PrintGifError(giferror);
+ rec = TERMINATE_RECORD_TYPE;
+ }
+ if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done))
+ {
+ if (DGifGetImageDesc(gif) == GIF_ERROR)
{
- return NULL;
+- PrintGifError();
++ PrintGifError(giferror);
+ rec = TERMINATE_RECORD_TYPE;
}
+ *w = gif->Image.Width;