diff --git a/src/share/classes/java/awt/color/ICC_ColorSpace.java b/src/share/classes/java/awt/color/ICC_ColorSpace.java index ee2ed1a43a59fdd9aee4440ef9283954cb1e5a49..7d323267dcdc1f251472f66e21ed090bf298ebf6 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 8e687de0cdfe61da107653fa674f69c8e05dc3b1..26c1c946a615a5b31bbe43a73de5502737360729 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) {