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/view_bug.do?bug_id=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





Reply via email to