The implementation of ICC_Profile tries to defer loading the data of the color 
profile, and it uses some predefined values for some profile properties for the 
standard profiles like sRGB, PYCC, etc. If the application requests profile 
data then the ICC_Profile class activates the profile and uses properties from 
that data.

Deferring mechanism for all profiles was added in JDK-6793818, but 
unfortunately, the color profile class was hardcoded incorrectly 
"CLASS_DISPLAY" for all profiles. However, the "CIEXYZ.pf" and "PYCC.pf" 
profiles should use "CLASS_COLORSPACECONVERSION".

Later the color "profiles/xxx.pf" were replaced in the JDK, and the actual type 
of the "CIEXYZ.pf" was changed to the "CLASS_ABSTRACT", but the deferring 
mechanism still uses "CLASS_DISPLAY".

As a result of this bug, the color profile reports different values 
before/after activations.

-------------

Commit messages:
 - Initial fix

Changes: https://git.openjdk.java.net/jdk/pull/1211/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1211&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256321
  Stats: 87 lines in 2 files changed: 85 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1211.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1211/head:pull/1211

PR: https://git.openjdk.java.net/jdk/pull/1211

Reply via email to