[OpenJDK 2D-Dev] [8] request for review: 8004801: The image of BufferedImage.TYPE_INT_ARGB is blank.

Andrew Brygin andrew.brygin at oracle.com
Thu Jan 31 10:54:30 UTC 2013


Hello Jennifer and Phil,

could you please review a fix for CR 8004801?

Bug: http://bugs.sun.com/view_bug.do?bug_id=8004801
Webrev: http://cr.openjdk.java.net/~bae/8004801/8/webrev.00/

The test uses reverse lookup with single lookup table. This sort of
operation should change only color components of processed images,
but alpha channel should be unchanged.

However, due to a mistake in color order detection, the reverse
lookup is applied to the alpha channel, that results in completely
transparent destination image.

This mistake in color order is caused by the platform-depended
implementation of awt_getBIColorOrder() routine: for all unix
system, this routine is implemented in assumption that system is
bigendian.

Suggested solution is to move the awt_getBIColorOrder() to shared code,
and re-write taking system endianness into account.
Supplied regression test demonstrates the problem.

Please take a look.

Thanks,
Andrew.



More information about the 2d-dev mailing list