< prev index next >

src/windows/native/sun/windows/awt_Canvas.cpp

Print this page
rev 12527 : 8165543: Better window framing
Reviewed-by: serb

@@ -57,10 +57,11 @@
 /*
  * Create a new AwtCanvas object and window.
  */
 AwtCanvas* AwtCanvas::Create(jobject self, jobject hParent)
 {
+    DASSERT(AwtToolkit::IsMainThread());
     TRY;
     JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
 
     jobject target = NULL;
     jobject graphicsConfig = NULL;

@@ -72,16 +73,15 @@
     try {
         if (env->EnsureLocalCapacity(1) < 0) {
             return NULL;
         }
 
+        PDATA pData;
         AwtComponent* parent;
 
-        JNI_CHECK_NULL_GOTO(hParent, "null hParent", done);
-
-        parent = (AwtComponent*)JNI_GET_PDATA(hParent);
-        JNI_CHECK_NULL_GOTO(parent, "null parent", done);
+        JNI_CHECK_PEER_GOTO(hParent, done);
+        parent = (AwtCanvas*)pData;
 
         target = env->GetObjectField(self, AwtObject::targetID);
         JNI_CHECK_NULL_GOTO(target, "null target", done);
 
         canvas = new AwtCanvas();

@@ -234,16 +234,13 @@
 Java_sun_awt_windows_WCanvasPeer_create(JNIEnv *env, jobject self,
                                         jobject parent)
 {
     TRY;
 
-    PDATA pData;
-    JNI_CHECK_PEER_RETURN(parent);
     AwtToolkit::CreateComponent(self, parent,
                                 (AwtToolkit::ComponentFactory)
                                 AwtCanvas::Create);
-    JNI_CHECK_PEER_CREATION_RETURN(self);
 
     CATCH_BAD_ALLOC;
 }
 
 /*
< prev index next >