You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created. * Limited arguments to 5 (then later changed to 8) in many places. * They were replaced by C++11 Variadic Templates. * Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard. * Also added a dereference check for Variant*. Helped catch a couple of bugs.
This commit is contained in:
@@ -114,10 +114,9 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_plugin_GodotPlugin_nativeEmitS
|
||||
String signal_name = jstring_to_string(j_signal_name, env);
|
||||
|
||||
int count = env->GetArrayLength(j_signal_params);
|
||||
ERR_FAIL_COND_MSG(count > VARIANT_ARG_MAX, "Maximum argument count exceeded!");
|
||||
|
||||
Variant variant_params[VARIANT_ARG_MAX];
|
||||
const Variant *args[VARIANT_ARG_MAX];
|
||||
Variant *variant_params = (Variant *)alloca(sizeof(Variant) * count);
|
||||
const Variant **args = (const Variant **)alloca(sizeof(Variant *) * count);
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
jobject j_param = env->GetObjectArrayElement(j_signal_params, i);
|
||||
@@ -126,7 +125,7 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_plugin_GodotPlugin_nativeEmitS
|
||||
env->DeleteLocalRef(j_param);
|
||||
};
|
||||
|
||||
singleton->emit_signal(StringName(signal_name), args, count);
|
||||
singleton->emit_signalp(StringName(signal_name), args, count);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_godotengine_godot_plugin_GodotPlugin_nativeRegisterGDNativeLibraries(JNIEnv *env, jclass clazz, jobjectArray gdnlib_paths) {
|
||||
|
||||
Reference in New Issue
Block a user