You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Fix JNI local reference table overflow when wrapping Java class with large method counts
This commit is contained in:
@@ -91,8 +91,8 @@ JNIEXPORT jobject JNICALL Java_org_godotengine_godot_variant_Callable_nativeCall
|
||||
Callable::CallError err;
|
||||
Variant result;
|
||||
callable.callp(argptrs, count, result, err);
|
||||
jvalret jresult = _variant_to_jvalue(p_env, result.get_type(), &result, true);
|
||||
ret = jresult.obj;
|
||||
jvalue jresult = _variant_to_jvalue(p_env, result.get_type(), &result, true);
|
||||
ret = jresult.l;
|
||||
}
|
||||
|
||||
// Manually invoke the destructor to decrease the reference counts for the variant arguments.
|
||||
@@ -107,8 +107,8 @@ JNIEXPORT jobject JNICALL Java_org_godotengine_godot_variant_Callable_nativeCall
|
||||
Callable callable = _generate_callable(p_env, p_object_id, p_method_name, p_parameters);
|
||||
if (callable.is_valid()) {
|
||||
Variant result = callable.call();
|
||||
jvalret jresult = _variant_to_jvalue(p_env, result.get_type(), &result, true);
|
||||
return jresult.obj;
|
||||
jvalue jresult = _variant_to_jvalue(p_env, result.get_type(), &result, true);
|
||||
return jresult.l;
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user