1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Merge pull request #108019 from limbonaut/fix-jni-generic-array-conversion

Add missing JNI variant conversion for generic Array
This commit is contained in:
Thaddeus Crews
2025-06-27 09:39:56 -05:00

View File

@@ -199,6 +199,22 @@ jvalret _variant_to_jvalue(JNIEnv *env, Variant::Type p_type, const Variant *p_a
v.obj = jdict;
} break;
case Variant::ARRAY: {
Array array = *p_arg;
jobjectArray arr = env->NewObjectArray(array.size(), env->FindClass("java/lang/Object"), nullptr);
for (int j = 0; j < array.size(); j++) {
Variant var = array[j];
jvalret valret = _variant_to_jvalue(env, var.get_type(), &var, true);
env->SetObjectArrayElement(arr, j, valret.val.l);
if (valret.obj) {
env->DeleteLocalRef(valret.obj);
}
}
v.val.l = arr;
v.obj = arr;
} break;
case Variant::PACKED_INT32_ARRAY: {
Vector<int> array = *p_arg;
jintArray arr = env->NewIntArray(array.size());