jdk/src/solaris/native/sun/awt/X11Color.c
changeset 2760 f038acdbdf9c
parent 2758 d2fbe9b5857a
child 2807 db01a7f6d657
--- a/jdk/src/solaris/native/sun/awt/X11Color.c	Wed May 06 12:39:23 2009 +0400
+++ b/jdk/src/solaris/native/sun/awt/X11Color.c	Wed May 06 20:06:23 2009 +0400
@@ -886,27 +886,6 @@
 #define blue(v)         (((v) >>  0) & 0xFF)
 
 #ifndef HEADLESS
-
-jobject getColorSpace(JNIEnv* env, jint csID) {
-    jclass clazz;
-    jobject cspaceL;
-    jmethodID mid;
-
-    clazz = (*env)->FindClass(env,"java/awt/color/ColorSpace");
-    mid = (*env)->GetStaticMethodID(env, clazz, "getInstance",
-                                    "(I)Ljava/awt/color/ColorSpace;");
-    if (mid == NULL) {
-        return NULL;
-    }
-
-    /* SECURITY: This is safe, because static methods cannot
-     *           be overridden, and this method does not invoke
-     *           client code
-     */
-
-    return (*env)->CallStaticObjectMethod(env, clazz, mid, csID);
-}
-
 jobject awtJNI_GetColorModel(JNIEnv *env, AwtGraphicsConfigDataPtr aData)
 {
     jobject awt_colormodel = NULL;
@@ -920,60 +899,20 @@
         (aData->awt_depth >= 15))
     {
         clazz = (*env)->FindClass(env,"java/awt/image/DirectColorModel");
-        if (!aData->isTranslucencySupported) {
 
-            mid = (*env)->GetMethodID(env,clazz,"<init>","(IIIII)V");
-
-            if (mid == NULL) {
-                (*env)->PopLocalFrame(env, 0);
-                return NULL;
-            }
-            awt_colormodel = (*env)->NewObject(env,clazz, mid,
-                    aData->awt_visInfo.depth,
-                    aData->awt_visInfo.red_mask,
-                    aData->awt_visInfo.green_mask,
-                    aData->awt_visInfo.blue_mask,
-                    0);
-        } else {
-            clazz = (*env)->FindClass(env,"sun/awt/X11GraphicsConfig");
-            if (clazz == NULL) {
-                (*env)->PopLocalFrame(env, 0);
-                return NULL;
-            }
-
-            if (aData->renderPictFormat.direct.red == 16) {
-                mid = (*env)->GetStaticMethodID( env,clazz,"createDCM32",
-                        "(IIIIZ)Ljava/awt/image/DirectColorModel;");
+        mid = (*env)->GetMethodID(env,clazz,"<init>","(IIIII)V");
 
-                if (mid == NULL) {
-                    (*env)->PopLocalFrame(env, 0);
-                    return NULL;
-                }
+        if (mid == NULL) {
+            (*env)->PopLocalFrame(env, 0);
+            return NULL;
+        }
 
-                awt_colormodel = (*env)->CallStaticObjectMethod(
-                        env,clazz, mid,
-                        aData->renderPictFormat.direct.redMask
-                            << aData->renderPictFormat.direct.red,
-                        aData->renderPictFormat.direct.greenMask
-                            << aData->renderPictFormat.direct.green,
-                        aData->renderPictFormat.direct.blueMask
-                            << aData->renderPictFormat.direct.blue,
-                        aData->renderPictFormat.direct.alphaMask
-                            << aData->renderPictFormat.direct.alpha,
-                        JNI_TRUE);
-            } else {
-                mid = (*env)->GetStaticMethodID( env,clazz,"createABGRCCM",
-                        "()Ljava/awt/image/ComponentColorModel;");
-
-                if (mid == NULL) {
-                    (*env)->PopLocalFrame(env, 0);
-                    return NULL;
-                }
-
-                awt_colormodel = (*env)->CallStaticObjectMethod(
-                        env,clazz, mid);
-            }
-        }
+        awt_colormodel = (*env)->NewObject(env,clazz, mid,
+                                           aData->awt_visInfo.depth,
+                                           aData->awt_visInfo.red_mask,
+                                           aData->awt_visInfo.green_mask,
+                                           aData->awt_visInfo.blue_mask,
+                                           0);
 
         if(awt_colormodel == NULL)
         {
@@ -984,13 +923,25 @@
     }
     else if (aData->awt_visInfo.class == StaticGray &&
              aData->awt_num_colors == 256) {
+        jclass clazz1;
         jobject cspace = NULL;
         jint bits[1];
         jintArray bitsArray;
         jboolean falseboolean = JNI_FALSE;
 
-        cspace = getColorSpace(env, java_awt_color_ColorSpace_CS_GRAY);
-
+        clazz1 = (*env)->FindClass(env,"java/awt/color/ColorSpace");
+        mid = (*env)->GetStaticMethodID(env, clazz1, "getInstance",
+              "(I)Ljava/awt/color/ColorSpace;");
+        if (mid == NULL) {
+            (*env)->PopLocalFrame(env, 0);
+            return NULL;
+        }
+        /* SECURITY: This is safe, because static methods cannot
+         *           be overridden, and this method does not invoke
+         *           client code
+         */
+        cspace = (*env)->CallStaticObjectMethod(env, clazz1, mid,
+            java_awt_color_ColorSpace_CS_GRAY);
         if (cspace == NULL) {
             (*env)->PopLocalFrame(env, 0);
             return NULL;