[OpenJDK 2D-Dev] [8] request for review: 4892259 GIF ImageReader does not call passComplete in IIOReadUpdateListener (original) (raw)

Andrew Brygin andrew.brygin at oracle.com
Thu May 16 19:28:26 UTC 2013


Hi Vadim,

the fix looks fine to me.

Thanks, Andrew

On 5/16/2013 11:25 PM, Vadim Pakhnushev wrote:

Phil, Andrew,

Would you please take a look at this updated fix posted half a year ago? Thanks, Vadim On 20.11.2012 22:14, Vadim Pakhnushev wrote: Phil,

That's right, interlaced images works as expected without the fix. Non-interlaced images could be considered single pass but the documentation states that the passStarted is called when progressive pass started. For examples, BMP reader doesn't call passStarted, but non-progressive JPEGs or PNGs do, so there is some inconsistency here. In the internal discussion back in 2007 Chris stated that "IIOReadUpdateListener.processPassStarted() is only intended to be called for progressive (aka interlaced) images." I've created automated regression test which checks that if the image was created with interlaced flag then corresponding methods are called and are not if the image is not interlaced. Please review the test: http://cr.openjdk.java.net/~bae/4892259/webrev.01/ Thanks, Vadim On 20.11.2012 3:47, Phil Race wrote: Vadim,

So I take it that you confirmed interlaced images do not exhibit this problem ? Its not obvious from the bug report that its only non-interlaced images that are the issue. I suppose a non-interlaced image could be considered a single pass but I can't find anywhere that we mandated such a behaviour and it would seem odd for many formats to require it. Can we include a regression test for this fix ? --phil. On 11/19/2012 11:15 AM, Vadim Pakhnushev wrote: Hi,

Please review a fix for bug 4892259: http://bugs.sun.com/viewbug.do?bugid=4892259 http://cr.openjdk.java.net/~bae/4892259/webrev.00/ Actually GIFImageReader should not call neither passComplete, nor passStarted for non-interlaced images in the first place. So the fix is to check whether the image is interlaced or not and skip startPass method entirely in case of interlaced image. passComplete is called only for interlaced images. Thanks, Vadim



More information about the 2d-dev mailing list