Approved, although I'm a bit surprised this didn't surface a long time ago.

-phil.

On 1/31/2013 2:54 AM, Andrew Brygin wrote:
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.

Reply via email to