On Tue, 28 Jan 2025 02:16:02 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:

>>>Note, before this fix the following method iccCStoJCS was used to convert 
>>>icc constant to java constant and if it was not possible an exception was 
>>>thrown. 
>>  
>> Agreed.
>> 
>>> but it was still possible to use such profiles for color conversion.
>> 
>> The exception that I mentioned here: 
>> https://github.com/openjdk/jdk/pull/23044#discussion_r1929879100 is WITHOUT 
>> the newly added validation checks in setData(). 
>> 
>> The test case for that I used is as follows
>> 
>> 
>>  ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB);
>>  ICC_Profile sRGB = ICC_Profile.getInstace(ColorSpace.CS_sRGB);
>>  sRGB.setData()  // changed the color space to cmsSigMCH1Data which is not 
>> present in JDK and commented out the validation checks in setData()
>>  cs.toRGB(new float[3]); //color transform from CS_LINEAR_RGB to CS_sRGB 
>> fails, java.awt.color.ProfileDataException: invalid ICC color space thrown 
>> during color conversion.
>
>> But the existing checks that are already in the constructor can be safely 
>> added.
> 
> Did you mean: profile class and color space validation checks should be okay 
> to add to .setData() ?

Everything we've already checked in the constructor is fine.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23044#discussion_r1936518312

Reply via email to