[Pkg-fonts-bugs] Ubuntu fontforge 20120731.b-5ubuntu1

Ubuntu Merge-o-Matic mom at ubuntu.com
Fri Nov 13 14:25:25 UTC 2015


This e-mail has been sent due to an upload to Ubuntu that contains Ubuntu
changes.  It contains the difference between the new version and the
previous version of the same source package in Ubuntu.
-------------- next part --------------
Format: 1.8
Date: Mon, 26 Oct 2015 22:57:36 +0200
Source: fontforge
Binary: fontforge fontforge-nox fontforge-common libfontforge-dev libfontforge1 libgdraw4 python-fontforge fontforge-dbg
Architecture: source
Version: 20120731.b-5ubuntu1
Distribution: xenial
Urgency: medium
Maintainer: Debian Fonts Task Force <pkg-fonts-devel at lists.alioth.debian.org>
Changed-By: Matthias Klose <doko at ubuntu.com>
Description: 
 fontforge  - font editor
 fontforge-common - font editor (common files)
 fontforge-dbg - debugging symbols for fontforge
 fontforge-nox - font editor - non-X version
 libfontforge-dev - font editor - runtime library (development files)
 libfontforge1 - font editor - runtime library
 libgdraw4  - font editor - runtime graphics and widget library
 python-fontforge - font editor - Python bindings
Changes: 
 fontforge (20120731.b-5ubuntu1) xenial; urgency=medium
 .
   * Build with giflib5.
 .
 fontforge (20120731.b-5build2) xenial; urgency=medium
 .
   * No-change rebuild against libgif7
 .
 fontforge (20120731.b-5build1) xenial; urgency=medium
 .
   * No-change rebuild for giflib soname change.
Checksums-Sha1: 
 98053b6c2033b9b70c5519d7415cef7c64b73c07 2838 fontforge_20120731.b-5ubuntu1.dsc
 c41ee85c741b9a7c1f56c6ce62c7e58a96904b60 18460 fontforge_20120731.b-5ubuntu1.debian.tar.xz
Checksums-Sha256: 
 bd010a57d3922228b29ec1171daa7b4a206569fc902948eca4736f06f1e48059 2838 fontforge_20120731.b-5ubuntu1.dsc
 1dd0d1a8748b34484cbab7fb8f1810401f8a628d0c4583df291df76b91fd6c2c 18460 fontforge_20120731.b-5ubuntu1.debian.tar.xz
Files: 
 6b6d019c6c191f8c411c053f52d432c7 2838 fonts optional fontforge_20120731.b-5ubuntu1.dsc
 68c1ee40c5f40fef1f54bf05b79acaa8 18460 fonts optional fontforge_20120731.b-5ubuntu1.debian.tar.xz
-------------- next part --------------
diff -pruN 20120731.b-5/debian/changelog 20120731.b-5ubuntu1/debian/changelog
--- 20120731.b-5/debian/changelog	2014-01-01 08:24:42.000000000 +0000
+++ 20120731.b-5ubuntu1/debian/changelog	2015-10-26 21:57:55.000000000 +0000
@@ -1,3 +1,21 @@
+fontforge (20120731.b-5ubuntu1) xenial; urgency=medium
+
+  * Build with giflib5.
+
+ -- Matthias Klose <doko at ubuntu.com>  Mon, 26 Oct 2015 22:57:36 +0200
+
+fontforge (20120731.b-5build2) xenial; urgency=medium
+
+  * No-change rebuild against libgif7
+
+ -- Martin Pitt <martin.pitt at ubuntu.com>  Mon, 26 Oct 2015 14:57:14 +0100
+
+fontforge (20120731.b-5build1) xenial; urgency=medium
+
+  * No-change rebuild for giflib soname change.
+
+ -- Matthias Klose <doko at ubuntu.com>  Fri, 23 Oct 2015 10:08:59 +0000
+
 fontforge (20120731.b-5) unstable; urgency=low
 
   * Make packages Multi-Arch: foreign. Thanks to Dimitri John Ledkov.
diff -pruN 20120731.b-5/debian/patches/giflib5.diff 20120731.b-5ubuntu1/debian/patches/giflib5.diff
--- 20120731.b-5/debian/patches/giflib5.diff	1970-01-01 00:00:00.000000000 +0000
+++ 20120731.b-5ubuntu1/debian/patches/giflib5.diff	2015-10-26 22:12:44.000000000 +0000
@@ -0,0 +1,96 @@
+Index: b/gutils/gimagereadgif.c
+===================================================================
+--- a/gutils/gimagereadgif.c
++++ b/gutils/gimagereadgif.c
+@@ -41,10 +41,20 @@ static int a_file_must_define_something=
+ 
+ #include <gif_lib.h>
+ 
++#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && ((GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1) || GIFLIB_MAJOR > 5)
++#define _GIFLIB_51PLUS
++#endif
++
+ static DL_CONST void *libgif=NULL;
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++static GifFileType *(*_DGifOpenFileName,void *)(char *);
++static int (*_DGifSlurp)(GifFileType *);
++static int (*_DGifCloseFile)(GifFileType *,void *);
++#else
+ static GifFileType *(*_DGifOpenFileName)(char *);
+ static int (*_DGifSlurp)(GifFileType *);
+ static int (*_DGifCloseFile)(GifFileType *);
++#endif
+ 
+ static int loadgif() {
+     char *err;
+@@ -132,13 +142,21 @@ GImage *GImageReadGif(char *filename) {
+ 	if ( !loadgif())
+ return( NULL );
+ 
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++    if ((gif = _DGifOpenFileName(filename,NULL)) == NULL) {
++#else
+     if ((gif = _DGifOpenFileName(filename)) == NULL) {
++#endif
+ 	fprintf( stderr, "can't open %s\n", filename);
+ return( NULL );
+     }
+ 
+     if ( _DGifSlurp(gif)==GIF_ERROR ) {
+-	_DGifCloseFile(gif);
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++        DGifCloseFile(gif, NULL);
++#else
++        DGifCloseFile(gif);
++#endif
+ 	fprintf( stderr, "Bad gif file %s\n", filename );
+ return( NULL );
+     }
+@@ -150,7 +168,11 @@ return( NULL );
+ 	ret = images[0];
+     else
+ 	ret = GImageCreateAnimation(images,gif->ImageCount);
+-    _DGifCloseFile(gif);
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++    DGifCloseFile(gif, NULL);
++#else
++    DGifCloseFile(gif);
++#endif
+     free(images);
+ return( ret );
+ }
+@@ -220,13 +242,21 @@ GImage *GImageReadGif(char *filename) {
+     GifFileType *gif;
+     int i;
+ 
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++    if ((gif = DGifOpenFileName(filename,NULL)) == NULL) {
++#else
+     if ((gif = DGifOpenFileName(filename)) == NULL) {
++#endif
+ 	fprintf( stderr, "can't open %s\n", filename);
+ return( NULL );
+     }
+ 
+     if ( DGifSlurp(gif)==GIF_ERROR ) {
+-	DGifCloseFile(gif);
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++        DGifCloseFile(gif, NULL);
++#else
++        DGifCloseFile(gif);
++#endif
+ 	fprintf(stderr,"Bad gif file %s\n", filename );
+ return( NULL );
+     }
+@@ -238,7 +268,11 @@ return( NULL );
+ 	ret = images[0];
+     else
+ 	ret = GImageCreateAnimation(images,gif->ImageCount);
++#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
++    DGifCloseFile(gif, NULL);
++#else
+     DGifCloseFile(gif);
++#endif
+     free(images);
+ return( ret );
+ }
diff -pruN 20120731.b-5/debian/patches/series 20120731.b-5ubuntu1/debian/patches/series
--- 20120731.b-5/debian/patches/series	2013-11-02 18:52:10.000000000 +0000
+++ 20120731.b-5ubuntu1/debian/patches/series	2015-10-26 21:48:26.000000000 +0000
@@ -6,3 +6,4 @@
 901_ld_as_needed.diff
 671971.diff
 gitignore
+giflib5.diff
diff -pruN 20120731.b-5/gutils/gimagereadgif.c 20120731.b-5ubuntu1/gutils/gimagereadgif.c
--- 20120731.b-5/gutils/gimagereadgif.c	2012-08-02 15:09:09.000000000 +0000
+++ 20120731.b-5ubuntu1/gutils/gimagereadgif.c	2015-11-13 13:42:36.000000000 +0000
@@ -41,10 +41,20 @@ static int a_file_must_define_something=
 
 #include <gif_lib.h>
 
+#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && ((GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1) || GIFLIB_MAJOR > 5)
+#define _GIFLIB_51PLUS
+#endif
+
 static DL_CONST void *libgif=NULL;
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+static GifFileType *(*_DGifOpenFileName,void *)(char *);
+static int (*_DGifSlurp)(GifFileType *);
+static int (*_DGifCloseFile)(GifFileType *,void *);
+#else
 static GifFileType *(*_DGifOpenFileName)(char *);
 static int (*_DGifSlurp)(GifFileType *);
 static int (*_DGifCloseFile)(GifFileType *);
+#endif
 
 static int loadgif() {
     char *err;
@@ -132,13 +142,21 @@ GImage *GImageReadGif(char *filename) {
 	if ( !loadgif())
 return( NULL );
 
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+    if ((gif = _DGifOpenFileName(filename,NULL)) == NULL) {
+#else
     if ((gif = _DGifOpenFileName(filename)) == NULL) {
+#endif
 	fprintf( stderr, "can't open %s\n", filename);
 return( NULL );
     }
 
     if ( _DGifSlurp(gif)==GIF_ERROR ) {
-	_DGifCloseFile(gif);
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+        DGifCloseFile(gif, NULL);
+#else
+        DGifCloseFile(gif);
+#endif
 	fprintf( stderr, "Bad gif file %s\n", filename );
 return( NULL );
     }
@@ -150,7 +168,11 @@ return( NULL );
 	ret = images[0];
     else
 	ret = GImageCreateAnimation(images,gif->ImageCount);
-    _DGifCloseFile(gif);
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+    DGifCloseFile(gif, NULL);
+#else
+    DGifCloseFile(gif);
+#endif
     free(images);
 return( ret );
 }
@@ -220,13 +242,21 @@ GImage *GImageReadGif(char *filename) {
     GifFileType *gif;
     int i;
 
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+    if ((gif = DGifOpenFileName(filename,NULL)) == NULL) {
+#else
     if ((gif = DGifOpenFileName(filename)) == NULL) {
+#endif
 	fprintf( stderr, "can't open %s\n", filename);
 return( NULL );
     }
 
     if ( DGifSlurp(gif)==GIF_ERROR ) {
-	DGifCloseFile(gif);
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+        DGifCloseFile(gif, NULL);
+#else
+        DGifCloseFile(gif);
+#endif
 	fprintf(stderr,"Bad gif file %s\n", filename );
 return( NULL );
     }
@@ -238,7 +268,11 @@ return( NULL );
 	ret = images[0];
     else
 	ret = GImageCreateAnimation(images,gif->ImageCount);
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5 || defined(_GIFLIB_5PLUS)
+    DGifCloseFile(gif, NULL);
+#else
     DGifCloseFile(gif);
+#endif
     free(images);
 return( ret );
 }
diff -pruN 20120731.b-5/.pc/applied-patches 20120731.b-5ubuntu1/.pc/applied-patches
--- 20120731.b-5/.pc/applied-patches	2015-11-13 13:42:38.213485826 +0000
+++ 20120731.b-5ubuntu1/.pc/applied-patches	2015-11-13 13:42:36.329434479 +0000
@@ -6,3 +6,4 @@
 901_ld_as_needed.diff
 671971.diff
 gitignore
+giflib5.diff
diff -pruN 20120731.b-5/.pc/giflib5.diff/gutils/gimagereadgif.c 20120731.b-5ubuntu1/.pc/giflib5.diff/gutils/gimagereadgif.c
--- 20120731.b-5/.pc/giflib5.diff/gutils/gimagereadgif.c	1970-01-01 00:00:00.000000000 +0000
+++ 20120731.b-5ubuntu1/.pc/giflib5.diff/gutils/gimagereadgif.c	2012-08-02 15:09:09.000000000 +0000
@@ -0,0 +1,245 @@
+/* Copyright (C) 2000-2012 by George Williams */
+/*
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+
+ * The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <basics.h>
+
+/* There doesn't seem to be any difference between libgif and libungif (on my
+ *  system they are symbolic linked together). Either libungif doesn't support
+ *  interlaced gifs, or I'm not using it properly. At the moment I don't care
+*/
+
+#ifdef _NO_LIBUNGIF
+static int a_file_must_define_something=0;	/* ANSI says so */
+#elif !defined(_STATIC_LIBUNGIF) && !defined(NODYNAMIC)	/* I don't know how to deal with dynamic libs on mac OS/X, hence this */
+#include <dynamic.h>
+#include <string.h>
+
+#include "gimage.h"
+
+#include <gif_lib.h>
+
+static DL_CONST void *libgif=NULL;
+static GifFileType *(*_DGifOpenFileName)(char *);
+static int (*_DGifSlurp)(GifFileType *);
+static int (*_DGifCloseFile)(GifFileType *);
+
+static int loadgif() {
+    char *err;
+
+    libgif = dlopen("libungif" SO_EXT,RTLD_LAZY);
+    if ( libgif==NULL )
+	libgif = dlopen("libgif" SO_EXT,RTLD_LAZY);
+    if ( libgif==NULL ) {
+	fprintf(stderr,"%s\n", dlerror());
+return( 0 );
+    }
+    _DGifOpenFileName = (GifFileType *(*)(char *)) dlsym(libgif,"DGifOpenFileName");
+    _DGifSlurp = (int (*)(GifFileType *)) dlsym(libgif,"DGifSlurp");
+    _DGifCloseFile = (int (*)(GifFileType *)) dlsym(libgif,"DGifCloseFile");
+    if ( _DGifOpenFileName && _DGifSlurp && _DGifCloseFile )
+return( 1 );
+    dlclose(libgif);
+    err = dlerror();
+    if ( err==NULL )
+	err = "Couldn't load needed symbol from libgif.so";
+    fprintf(stderr,"%s\n", err);
+return( 0 );
+}
+
+static GImage *ProcessSavedImage(GifFileType *gif,struct SavedImage *si) {
+    GImage *ret;
+    struct _GImage *base;
+    ColorMapObject *m = gif->SColorMap;
+    int i,j,l;
+    uint8 *d;
+
+    if ( si->ImageDesc.ColorMap!=NULL )
+	m = si->ImageDesc.ColorMap;
+    if ( m->BitsPerPixel==1 ) {
+	ret = GImageCreate(it_bitmap,si->ImageDesc.Width,si->ImageDesc.Height);
+	if ( m->ColorCount==2 &&
+		m->Colors[0].Red==0 && m->Colors[0].Green==0 && m->Colors[0].Blue==0 &&
+		m->Colors[1].Red==255 && m->Colors[1].Green==255 && m->Colors[1].Blue==255 )
+	    /* Don't need a clut */;
+	else
+	    ret->u.image->clut = gcalloc(1,sizeof(GClut));
+    } else
+	ret = GImageCreate(it_index,si->ImageDesc.Width,si->ImageDesc.Height);
+    base = ret->u.image;
+    if ( base->clut!=NULL ) {
+	base->clut->clut_len = m->ColorCount;
+	for ( i=0; i<m->ColorCount; ++i )
+	    base->clut->clut[i] = COLOR_CREATE(m->Colors[i].Red,m->Colors[i].Green,m->Colors[i].Blue);
+    }
+    if ( m->BitsPerPixel!=1 )
+	memcpy(base->data,si->RasterBits,base->width*base->height);
+    else if ( m->BitsPerPixel==1 ) {
+	l=0;
+	for ( i=0; i<base->height; ++i ) {
+	    d = (base->data + i*base->bytes_per_line);
+	    memset(d,'\0',base->bytes_per_line);
+	    for ( j=0; j<base->width; ++j ) {
+		if ( si->RasterBits[l] )
+		    d[j>>3] |= (1<<(7-(j&7)));
+		++l;
+	    }
+	}
+    }
+    for ( i=0; i<si->ExtensionBlockCount; ++i ) {
+	if ( si->ExtensionBlocks[i].Function==0xf9 &&
+		si->ExtensionBlocks[i].ByteCount>=4 ) {
+	    base->delay = (si->ExtensionBlocks[i].Bytes[2]<<8) |
+		    (si->ExtensionBlocks[i].Bytes[2]&&0xff);
+	    if ( si->ExtensionBlocks[i].Bytes[0]&1 ) {
+		base->trans = (unsigned char) si->ExtensionBlocks[i].Bytes[3];
+		if ( base->clut!=NULL )
+		    base->clut->trans_index = base->trans;
+	    }
+	}
+    }
+return( ret );
+}
+
+GImage *GImageReadGif(char *filename) {
+    GImage *ret, **images;
+    GifFileType *gif;
+    int i;
+
+    if ( libgif==NULL )
+	if ( !loadgif())
+return( NULL );
+
+    if ((gif = _DGifOpenFileName(filename)) == NULL) {
+	fprintf( stderr, "can't open %s\n", filename);
+return( NULL );
+    }
+
+    if ( _DGifSlurp(gif)==GIF_ERROR ) {
+	_DGifCloseFile(gif);
+	fprintf( stderr, "Bad gif file %s\n", filename );
+return( NULL );
+    }
+
+    images = galloc(gif->ImageCount*sizeof(GImage *));
+    for ( i=0; i<gif->ImageCount; ++i )
+	images[i] = ProcessSavedImage(gif,&gif->SavedImages[i]);
+    if ( gif->ImageCount==1 )
+	ret = images[0];
+    else
+	ret = GImageCreateAnimation(images,gif->ImageCount);
+    _DGifCloseFile(gif);
+    free(images);
+return( ret );
+}
+#else
+#include <string.h>
+
+#include "gimage.h"
+
+#include <gif_lib.h>
+
+static GImage *ProcessSavedImage(GifFileType *gif,struct SavedImage *si) {
+    GImage *ret;
+    struct _GImage *base;
+    ColorMapObject *m = gif->SColorMap;
+    int i,j,l;
+    uint8 *d;
+
+    if ( si->ImageDesc.ColorMap!=NULL )
+	m = si->ImageDesc.ColorMap;
+    if ( m->BitsPerPixel==1 ) {
+	ret = GImageCreate(it_bitmap,si->ImageDesc.Width,si->ImageDesc.Height);
+	if ( m->ColorCount==2 &&
+		m->Colors[0].Red==0 && m->Colors[0].Green==0 && m->Colors[0].Blue==0 &&
+		m->Colors[1].Red==255 && m->Colors[1].Green==255 && m->Colors[1].Blue==255 )
+	    /* Don't need a clut */;
+	else
+	    ret->u.image->clut = gcalloc(1,sizeof(GClut));
+    } else
+	ret = GImageCreate(it_index,si->ImageDesc.Width,si->ImageDesc.Height);
+    base = ret->u.image;
+    if ( base->clut!=NULL ) {
+	base->clut->clut_len = m->ColorCount;
+	for ( i=0; i<m->ColorCount; ++i )
+	    base->clut->clut[i] = COLOR_CREATE(m->Colors[i].Red,m->Colors[i].Green,m->Colors[i].Blue);
+    }
+    if ( m->BitsPerPixel!=1 )
+	memcpy(base->data,si->RasterBits,base->width*base->height);
+    else if ( m->BitsPerPixel==1 ) {
+	l=0;
+	for ( i=0; i<base->height; ++i ) {
+	    d = (base->data + i*base->bytes_per_line);
+	    memset(d,'\0',base->bytes_per_line);
+	    for ( j=0; j<base->width; ++j ) {
+		if ( si->RasterBits[l] )
+		    d[j>>3] |= (1<<(7-(j&7)));
+		++l;
+	    }
+	}
+    }
+    for ( i=0; i<si->ExtensionBlockCount; ++i ) {
+	if ( si->ExtensionBlocks[i].Function==0xf9 &&
+		si->ExtensionBlocks[i].ByteCount>=4 ) {
+	    base->delay = (si->ExtensionBlocks[i].Bytes[2]<<8) |
+		    (si->ExtensionBlocks[i].Bytes[2]&&0xff);
+	    if ( si->ExtensionBlocks[i].Bytes[0]&1 ) {
+		base->trans = (unsigned char) si->ExtensionBlocks[i].Bytes[3];
+		if ( base->clut!=NULL )
+		    base->clut->trans_index = base->trans;
+	    }
+	}
+    }
+return( ret );
+}
+
+GImage *GImageReadGif(char *filename) {
+    GImage *ret, **images;
+    GifFileType *gif;
+    int i;
+
+    if ((gif = DGifOpenFileName(filename)) == NULL) {
+	fprintf( stderr, "can't open %s\n", filename);
+return( NULL );
+    }
+
+    if ( DGifSlurp(gif)==GIF_ERROR ) {
+	DGifCloseFile(gif);
+	fprintf(stderr,"Bad gif file %s\n", filename );
+return( NULL );
+    }
+
+    images = galloc(gif->ImageCount*sizeof(GImage *));
+    for ( i=0; i<gif->ImageCount; ++i )
+	images[i] = ProcessSavedImage(gif,&gif->SavedImages[i]);
+    if ( gif->ImageCount==1 )
+	ret = images[0];
+    else
+	ret = GImageCreateAnimation(images,gif->ImageCount);
+    DGifCloseFile(gif);
+    free(images);
+return( ret );
+}
+#endif


More information about the Pkg-fonts-bugs mailing list