Merge pull request #39080 from m4gr3d/fix_emit_signal

Use compile-time constant for the size of the signal parameters
This commit is contained in:
Rémi Verschelde 2020-05-27 13:05:32 +02:00 committed by GitHub
commit 7b7b872d94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions

View File

@ -114,8 +114,10 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_plugin_GodotPlugin_nativeEmitS
String signal_name = jstring_to_string(j_signal_name, env); String signal_name = jstring_to_string(j_signal_name, env);
int count = env->GetArrayLength(j_signal_params); int count = env->GetArrayLength(j_signal_params);
Variant variant_params[count]; ERR_FAIL_COND_MSG(count > VARIANT_ARG_MAX, "Maximum argument count exceeded!");
const Variant *args[count];
Variant variant_params[VARIANT_ARG_MAX];
const Variant *args[VARIANT_ARG_MAX];
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
jobject j_param = env->GetObjectArrayElement(j_signal_params, i); jobject j_param = env->GetObjectArrayElement(j_signal_params, i);