Accepting request 247390 from editors
- Make it work again, that is remove emacs-24.3-giflib5-interlace.patch and include changes and corrected cpp boolean in patch emacs-24.3-giflib5.diff - Update emacs-24.3-giflib5.diff to support giflib7-5.1.0 API OBS-URL: https://build.opensuse.org/request/show/247390 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/emacs?expand=0&rev=109
This commit is contained in:
commit
b0a451fb0e
@ -1,22 +0,0 @@
|
||||
2014-01-07 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372).
|
||||
* image.c (gif_load): libgif5 deinterlaces for us, so don't do
|
||||
it again.
|
||||
|
||||
Index: emacs-24.3/src/image.c
|
||||
===================================================================
|
||||
--- emacs-24.3/src/image.c
|
||||
+++ emacs-24.3/src/image.c
|
||||
@@ -7378,7 +7378,10 @@ gif_load (struct frame *f, struct image
|
||||
}
|
||||
|
||||
/* Apply the pixel values. */
|
||||
- if (gif->SavedImages[j].ImageDesc.Interlace)
|
||||
+#ifndef GIFLIB_MAJOR
|
||||
+# define GIFLIB_MAJOR 0
|
||||
+#endif
|
||||
+ if (GIFLIB_MAJOR < 5 && gif->SavedImages[j].ImageDesc.Interlace)
|
||||
{
|
||||
int row, pass;
|
||||
|
@ -1,6 +1,43 @@
|
||||
--- 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
|
||||
---
|
||||
emacs-24.3/src/image.c | 36 ++++++++++++++++++++++++++++--------
|
||||
1 file changed, 28 insertions(+), 8 deletions(-)
|
||||
|
||||
--- emacs-24.3/src/image.c
|
||||
+++ emacs-24.3/src/image.c 2014-09-03 10:07:32.000000000 +0000
|
||||
@@ -7095,11 +7095,19 @@ gif_image_p (Lisp_Object object)
|
||||
|
||||
#endif /* HAVE_NTGUI */
|
||||
|
||||
+#ifndef GIFLIB_MAJOR
|
||||
+# define GIFLIB_MAJOR 0
|
||||
+#endif
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
|
||||
/* GIF library details. */
|
||||
+#if (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
|
||||
+DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *, int *));
|
||||
+#else
|
||||
DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *));
|
||||
+#define DGifCloseFile(a, b) DGifCloseFile(a)
|
||||
+#endif
|
||||
DEF_IMGLIB_FN (int, DGifSlurp, (GifFileType *));
|
||||
DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc));
|
||||
DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *));
|
||||
@@ -7121,7 +7129,11 @@ init_gif_functions (void)
|
||||
|
||||
#else
|
||||
|
||||
-#define fn_DGifCloseFile DGifCloseFile
|
||||
+#if (GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1))
|
||||
+#define fn_DGifCloseFile(a,b) DGifCloseFile(a,b)
|
||||
+#else
|
||||
+#define fn_DGifCloseFile(a,b) DGifCloseFile(a)
|
||||
+#endif
|
||||
#define fn_DGifSlurp DGifSlurp
|
||||
#define fn_DGifOpen DGifOpen
|
||||
#define fn_DGifOpenFileName DGifOpenFileName
|
||||
@@ -7192,7 +7204,11 @@ gif_load (struct frame *f, struct image
|
||||
}
|
||||
|
||||
/* Open the GIF file. */
|
||||
@ -12,7 +49,7 @@
|
||||
if (gif == NULL)
|
||||
{
|
||||
image_error ("Cannot open `%s'", file, Qnil);
|
||||
@@ -7213,7 +7217,11 @@ gif_load (struct frame *f, struct image
|
||||
@@ -7213,7 +7229,11 @@ gif_load (struct frame *f, struct image
|
||||
memsrc.len = SBYTES (specified_data);
|
||||
memsrc.index = 0;
|
||||
|
||||
@ -24,3 +61,65 @@
|
||||
if (!gif)
|
||||
{
|
||||
image_error ("Cannot open memory source `%s'", img->spec, Qnil);
|
||||
@@ -7225,7 +7245,7 @@ gif_load (struct frame *f, struct image
|
||||
if (!check_image_size (f, gif->SWidth, gif->SHeight))
|
||||
{
|
||||
image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
|
||||
- fn_DGifCloseFile (gif);
|
||||
+ fn_DGifCloseFile (gif, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7234,7 +7254,7 @@ gif_load (struct frame *f, struct image
|
||||
if (rc == GIF_ERROR || gif->ImageCount <= 0)
|
||||
{
|
||||
image_error ("Error reading `%s'", img->spec, Qnil);
|
||||
- fn_DGifCloseFile (gif);
|
||||
+ fn_DGifCloseFile (gif, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7246,7 +7266,7 @@ gif_load (struct frame *f, struct image
|
||||
{
|
||||
image_error ("Invalid image number `%s' in image `%s'",
|
||||
image_number, img->spec);
|
||||
- fn_DGifCloseFile (gif);
|
||||
+ fn_DGifCloseFile (gif, NULL);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -7264,14 +7284,14 @@ gif_load (struct frame *f, struct image
|
||||
if (!check_image_size (f, width, height))
|
||||
{
|
||||
image_error ("Invalid image size (see `max-image-size')", Qnil, Qnil);
|
||||
- fn_DGifCloseFile (gif);
|
||||
+ fn_DGifCloseFile (gif, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Create the X image and pixmap. */
|
||||
if (!x_create_x_image_and_pixmap (f, width, height, 0, &ximg, &img->pixmap))
|
||||
{
|
||||
- fn_DGifCloseFile (gif);
|
||||
+ fn_DGifCloseFile (gif, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -7370,7 +7390,7 @@ gif_load (struct frame *f, struct image
|
||||
}
|
||||
|
||||
/* Apply the pixel values. */
|
||||
- if (gif->SavedImages[j].ImageDesc.Interlace)
|
||||
+ if (GIFLIB_MAJOR < 5 && gif->SavedImages[j].ImageDesc.Interlace)
|
||||
{
|
||||
int row, pass;
|
||||
|
||||
@@ -7447,7 +7467,7 @@ gif_load (struct frame *f, struct image
|
||||
Fcons (make_number (gif->ImageCount),
|
||||
img->lisp_data));
|
||||
|
||||
- fn_DGifCloseFile (gif);
|
||||
+ fn_DGifCloseFile (gif, NULL);
|
||||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 3 10:31:56 UTC 2014 - werner@suse.de
|
||||
|
||||
- Make it work again, that is
|
||||
remove emacs-24.3-giflib5-interlace.patch
|
||||
and include changes and corrected cpp boolean in
|
||||
patch emacs-24.3-giflib5.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 2 20:38:27 UTC 2014 - jengelh@inai.de
|
||||
|
||||
- Update emacs-24.3-giflib5.diff to support giflib7-5.1.0 API
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 8 14:10:51 UTC 2014 - fcrozat@suse.com
|
||||
|
||||
|
@ -110,7 +110,6 @@ Patch20: CVE-2014-3424.patch
|
||||
Patch22: emacs-24.1-bnc628268.patch
|
||||
Patch25: emacs-24.3-giflib5.patch
|
||||
Patch26: emacs-24.3-nntp-typhoon-fix.patch
|
||||
Patch27: emacs-24.3-giflib5-interlace.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /usr/X11R6)}
|
||||
%if "%_exec_prefix" == "/usr/X11R6"
|
||||
@ -226,9 +225,8 @@ and most assembler-like syntaxes.
|
||||
%patch20 -p0 -b .CVE-2014-3424
|
||||
%patch -p0
|
||||
%patch22 -p0
|
||||
%patch25 -p0
|
||||
%patch25 -p1
|
||||
%patch26 -p1
|
||||
%patch27 -p1
|
||||
|
||||
%if %{without autoconf}
|
||||
# We don't want to run autoconf
|
||||
|
Loading…
x
Reference in New Issue
Block a user