[8u60] Request for approval 8077982: GIFLIB upgrade

Andrew Hughes gnu.andrew at redhat.com
Wed May 6 16:16:25 UTC 2015


----- Original Message -----
> Sounds like a good approach Andrew. Can you file a bug and fix in JDK 9
> ? A backport should be possible then.
> 

Yes, sure. I was planning to before 8077982, because that version wouldn't
build against a system giflib >= 5.0.

> Regards,
> Sean.
> 
> On 06/05/15 16:32, Andrew Hughes wrote:
> > ----- Original Message -----
> >> Hello,
> >>
> >> This is a request for approval to backport a fix from the jdk9 to the
> >> jdk8u-dev repository.
> >> Changes applies cleanly to jdk8u-dev after path reshuffling.
> >>
> >> The bug: https://bugs.openjdk.java.net/browse/JDK-8077982
> >> The fix: http://hg.openjdk.java.net/jdk9/client/jdk/rev/5bf5794f6193
> >> The review:
> >> http://mail.openjdk.java.net/pipermail/awt-dev/2015-April/009269.html
> >>
> >> --
> >> Thanks,
> >>
> >> Alexander.
> >>
> >>
> > The splashscreen changes, such as:
> >
> > @@ -310,7 +296,7 @@
> >       free(pBitmapBits);
> >       free(pOldBitmapBits);
> >   
> > -    DGifCloseFile(gif);
> > +    DGifCloseFile(gif, NULL);
> >   
> >       return 1;
> >   }
> > @@ -318,7 +304,7 @@
> >   int
> >   SplashDecodeGifStream(Splash * splash, SplashStream * stream)
> >   {
> > -    GifFileType *gif = DGifOpen((void *) stream,
> > SplashStreamGifInputFunc);
> > +    GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc,
> > NULL);
> >   
> >       if (!gif)
> >           return 0;
> >
> > will break system giflib builds with versions older than 5.
> >
> > In fixing this in IcedTea, we added #ifdefs to this code.
> >
> >   {
> > +#if GIFLIB_MAJOR >= 5
> > +    int error = 0;
> > +    GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc,
> > &error);
> > +
> > +    if (error)
> > +	return 0;
> > +#else
> >       GifFileType *gif = DGifOpen((void *) stream,
> >       SplashStreamGifInputFunc);
> >   
> >       if (!gif)
> >           return 0;
> > +#endif
> >
> > +#if GIFLIB_MAJOR > 5 || (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1)
> > +    int error = 0;
> > +    DGifCloseFile(gif, &error);
> > +    if (error)
> > +        return 0;
> > +#else
> >       DGifCloseFile(gif);
> > +#endif
> >
> 
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: ed25519/35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222

PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the jdk8u-dev mailing list