@@ -467,21 +467,21 @@ static bool __MCJavaProperListFromJObjectArray(jobjectArray p_obj_array, MCPrope
467467 return MCProperListCopy (*t_list, r_list);
468468}
469469
470- bool MCJavaObjectCreateGlobalRef (jobject p_object, MCJavaObjectRef &r_object )
470+ void * MCJavaPrivateGlobalRef ( void * p_object)
471471{
472- MCAssert (p_object != nullptr );
473- void *t_obj_ptr = s_env -> NewGlobalRef (p_object);
474- return MCJavaObjectCreate (t_obj_ptr, r_object );
472+ MCJavaDoAttachCurrentThread ( );
473+ jobject t_obj = static_cast <jobject> (p_object);
474+ return static_cast < void *>(s_env-> NewGlobalRef (t_obj) );
475475}
476476
477- bool MCJavaObjectCreateNullableGlobalRef (jobject p_object, MCJavaObjectRef &r_object)
477+ bool MCJavaObjectCreateNullable (jobject p_object, MCJavaObjectRef &r_object)
478478{
479479 if (p_object == nullptr )
480480 {
481481 r_object = nullptr ;
482482 return true ;
483483 }
484- return MCJavaObjectCreateGlobalRef (p_object, r_object);
484+ return MCJavaObjectCreate (p_object, r_object);
485485}
486486
487487static jstring MCJavaGetJObjectClassName (jobject p_obj)
@@ -567,7 +567,7 @@ static bool __JavaJNIInstanceMethodResult(jobject p_instance, jmethodID p_method
567567 s_env -> CallObjectMethodA (p_instance, p_method_id, p_params);
568568
569569 MCJavaObjectRef t_result_value;
570- if (!MCJavaObjectCreateNullableGlobalRef (t_result, t_result_value))
570+ if (!MCJavaObjectCreateNullable (t_result, t_result_value))
571571 return false ;
572572 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
573573 return true ;
@@ -649,7 +649,7 @@ static bool __JavaJNIStaticMethodResult(jclass p_class, jmethodID p_method_id, j
649649 s_env -> CallStaticObjectMethodA (p_class, p_method_id, p_params);
650650
651651 MCJavaObjectRef t_result_value;
652- if (!MCJavaObjectCreateNullableGlobalRef (t_result, t_result_value))
652+ if (!MCJavaObjectCreateNullable (t_result, t_result_value))
653653 return false ;
654654 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
655655 return true ;
@@ -731,7 +731,7 @@ static bool __JavaJNINonVirtualMethodResult(jobject p_instance, jclass p_class,
731731 s_env -> CallNonvirtualObjectMethodA (p_instance, p_class, p_method_id, p_params);
732732
733733 MCJavaObjectRef t_result_value;
734- if (!MCJavaObjectCreateNullableGlobalRef (t_result, t_result_value))
734+ if (!MCJavaObjectCreateNullable (t_result, t_result_value))
735735 return false ;
736736 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
737737 return true ;
@@ -813,7 +813,7 @@ static bool __JavaJNIGetFieldResult(jobject p_instance, jfieldID p_field_id, int
813813 s_env -> GetObjectField (p_instance, p_field_id);
814814
815815 MCJavaObjectRef t_result_value;
816- if (!MCJavaObjectCreateNullableGlobalRef (t_result, t_result_value))
816+ if (!MCJavaObjectCreateNullable (t_result, t_result_value))
817817 return false ;
818818 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
819819 return true ;
@@ -894,7 +894,7 @@ static bool __JavaJNIGetStaticFieldResult(jclass p_class, jfieldID p_field_id, i
894894 s_env -> GetStaticObjectField (p_class, p_field_id);
895895
896896 MCJavaObjectRef t_result_value;
897- if (!MCJavaObjectCreateNullableGlobalRef (t_result, t_result_value))
897+ if (!MCJavaObjectCreateNullable (t_result, t_result_value))
898898 return false ;
899899 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
900900 return true ;
@@ -1084,7 +1084,7 @@ static bool __JavaJNIConstructorResult(jclass p_class, jmethodID p_method_id, jv
10841084 jobject t_result = s_env -> NewObjectA (p_class, p_method_id, p_params);
10851085
10861086 MCJavaObjectRef t_result_value;
1087- if (!MCJavaObjectCreateGlobalRef (t_result, t_result_value))
1087+ if (!MCJavaObjectCreate (t_result, t_result_value))
10881088 return false ;
10891089 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
10901090
@@ -1381,7 +1381,7 @@ bool MCJavaCreateInterfaceProxy(MCNameRef p_class_name, MCTypeInfoRef p_signatur
13811381 t_handler);
13821382
13831383 MCJavaObjectRef t_result_value;
1384- if (!MCJavaObjectCreateNullableGlobalRef (t_proxy, t_result_value))
1384+ if (!MCJavaObjectCreateNullable (t_proxy, t_result_value))
13851385 return false ;
13861386
13871387 *(static_cast <MCJavaObjectRef *>(r_result)) = t_result_value;
@@ -1586,7 +1586,7 @@ bool MCJavaPrivateConvertStringRefToJString(MCStringRef p_string, MCJavaObjectRe
15861586 if (!__MCJavaStringToJString (p_string, t_string))
15871587 return false ;
15881588
1589- return MCJavaObjectCreateGlobalRef (t_string, r_object);
1589+ return MCJavaObjectCreate (t_string, r_object);
15901590}
15911591
15921592bool MCJavaPrivateConvertJStringToStringRef (MCJavaObjectRef p_object, MCStringRef &r_string)
@@ -1601,7 +1601,7 @@ bool MCJavaPrivateConvertDataRefToJByteArray(MCDataRef p_data, MCJavaObjectRef &
16011601 if (!__MCJavaDataToJByteArray (p_data, t_array))
16021602 return false ;
16031603
1604- return MCJavaObjectCreateGlobalRef (t_array, r_object);
1604+ return MCJavaObjectCreate (t_array, r_object);
16051605}
16061606
16071607bool MCJavaPrivateConvertJByteArrayToDataRef (MCJavaObjectRef p_object, MCDataRef &r_data)
@@ -1844,4 +1844,9 @@ bool MCJavaPrivateGetJObjectClassName(MCJavaObjectRef p_object, MCStringRef &r_n
18441844{
18451845 return false ;
18461846}
1847+
1848+ void * MCJavaPrivateGlobalRef (void *p_object)
1849+ {
1850+ return p_object;
1851+ }
18471852#endif
0 commit comments