From 1a2ab3bf161c701d6e704f46f17dd0ad914727f5 Mon Sep 17 00:00:00 2001 From: prr Date: Thu, 29 Jun 2017 12:40:54 -0700 Subject: [PATCH] 8180877: More deeply colored ICC spaces Reviewed-by: serb, rhalade, mschoene --- src/share/classes/java/awt/color/ICC_ColorSpace.java | 12 ++++++++++++ src/share/native/sun/java2d/cmm/lcms/LCMS.c | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/share/classes/java/awt/color/ICC_ColorSpace.java b/src/share/classes/java/awt/color/ICC_ColorSpace.java index ee2ed1a43..7d323267d 100644 --- a/src/share/classes/java/awt/color/ICC_ColorSpace.java +++ b/src/share/classes/java/awt/color/ICC_ColorSpace.java @@ -127,6 +127,18 @@ public class ICC_ColorSpace extends ColorSpace { setMinMax(); } + /** + * Validate ICC_ColorSpace read from an object input stream + */ + private void readObject(java.io.ObjectInputStream s) + throws ClassNotFoundException, java.io.IOException { + + s.defaultReadObject(); + if (thisProfile == null) { + thisProfile = ICC_Profile.getInstance(ColorSpace.CS_sRGB); + } + } + /** * Returns the ICC_Profile for this ICC_ColorSpace. * @return the ICC_Profile for this ICC_ColorSpace. diff --git a/src/share/native/sun/java2d/cmm/lcms/LCMS.c b/src/share/native/sun/java2d/cmm/lcms/LCMS.c index 8e687de0c..26c1c946a 100644 --- a/src/share/native/sun/java2d/cmm/lcms/LCMS.c +++ b/src/share/native/sun/java2d/cmm/lcms/LCMS.c @@ -644,7 +644,12 @@ JNIEXPORT jobject JNICALL Java_sun_java2d_cmm_lcms_LCMS_getProfileID { jclass clsLcmsProfile; jobject cmmProfile; - jfieldID fid = (*env)->GetFieldID (env, + jfieldID fid; + + if (pf == NULL) { + return NULL; + } + fid = (*env)->GetFieldID (env, (*env)->GetObjectClass(env, pf), "cmmProfile", "Lsun/java2d/cmm/Profile;"); if (fid == NULL) { -- GitLab