diff options
author | joerg <joerg@pkgsrc.org> | 2013-08-17 11:15:58 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2013-08-17 11:15:58 +0000 |
commit | 9c4e293b1ddcb98f323a2bd7bc3353f7f9e69b3d (patch) | |
tree | 8199a977f01c3c37e5c944a7de47803a93785011 /graphics/imlib | |
parent | 634797e6590ae3062c9e1a3ac5c1872f190c6a73 (diff) | |
download | pkgsrc-9c4e293b1ddcb98f323a2bd7bc3353f7f9e69b3d.tar.gz |
Fix build with new giflib.
Diffstat (limited to 'graphics/imlib')
-rw-r--r-- | graphics/imlib/distinfo | 4 | ||||
-rw-r--r-- | graphics/imlib/patches/patch-ak | 63 |
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; |