Fixed <rdar://problem/3853676> Browser Crash when accessing CCWeb Progress Page...
[WebKit-https.git] / JavaScriptCore / bindings / jni / jni_jsobject.cpp
index 95c0f914888da7ec0133b0f1f690ca5a8b52f430..0f862832150b3aab523ad3b981eb3f3c9bfc3503 100644 (file)
@@ -420,9 +420,7 @@ KJS::Value JSObject::convertJObjectToValue (jobject theObject) const
     // figure 22-4.
     jobject classOfInstance = callJNIObjectMethod(theObject, "getClass", "()Ljava/lang/Class;");
     jstring className = (jstring)callJNIObjectMethod(classOfInstance, "getName", "()Ljava/lang/String;");
-    
-    JS_LOG ("converting instance of class %s\n", Bindings::JavaString(className).UTF8String());
-    
+        
     if (strcmp(Bindings::JavaString(className).UTF8String(), "netscape.javascript.JSObject") == 0) {
         // Pull the nativeJSObject value from the Java instance.  This is a
         // pointer to the ObjectImp.
@@ -454,8 +452,14 @@ KJS::List JSObject::listFromJArray(jobjectArray jArray) const
     
     for (i = 0; i < numObjects; i++) {
         jobject anObject = env->GetObjectArrayElement ((jobjectArray)jArray, i);
-        aList.append (convertJObjectToValue(anObject));
-        env->DeleteLocalRef (anObject);
+       if (anObject) {
+           aList.append (convertJObjectToValue(anObject));
+           env->DeleteLocalRef (anObject);
+       }
+       else {
+            env->ExceptionDescribe();
+            env->ExceptionClear();
+       }
     }
     return aList;
 }