aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorIgnacio Etcheverry2018-02-21 13:07:30 +0100
committerGitHub2018-02-21 13:07:30 +0100
commit0667f2acbb30dcf3582ee73132dcbc1c2ca2072d (patch)
tree73ffce4d4142d6539a249ce30ff8ad157314b43a /modules
parent222516a8154f4b0dbe1264315337367b60989c9e (diff)
parent7a723954125e9409c102b5cf3cde6f9a6464be52 (diff)
downloadgodot-0667f2acbb30dcf3582ee73132dcbc1c2ca2072d.tar.gz
godot-0667f2acbb30dcf3582ee73132dcbc1c2ca2072d.tar.zst
godot-0667f2acbb30dcf3582ee73132dcbc1c2ca2072d.zip
Merge pull request #16884 from paulloz/fix-csharp-signal-attribute-fix
[mono] fix signals parameter retrieval
Diffstat (limited to '')
-rw-r--r--modules/mono/mono_gd/gd_mono_method.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/modules/mono/mono_gd/gd_mono_method.cpp b/modules/mono/mono_gd/gd_mono_method.cpp
index 69040a3df..ad5290494 100644
--- a/modules/mono/mono_gd/gd_mono_method.cpp
+++ b/modules/mono/mono_gd/gd_mono_method.cpp
@@ -230,12 +230,14 @@ String GDMonoMethod::get_signature_desc(bool p_namespaces) const {
}
void GDMonoMethod::get_parameter_names(Vector<StringName> &names) const {
- const char *_names = memnew_arr(char, params_count);
- mono_method_get_param_names(mono_method, &_names);
- for (int i = 0; i < params_count; ++i) {
- names.push_back(StringName(&_names[i]));
+ if (params_count > 0) {
+ const char **_names = memnew_arr(const char *, params_count);
+ mono_method_get_param_names(mono_method, _names);
+ for (int i = 0; i < params_count; ++i) {
+ names.push_back(StringName(_names[i]));
+ }
+ memdelete_arr(_names);
}
- memdelete_arr(_names);
}
void GDMonoMethod::get_parameter_types(Vector<ManagedType> &types) const {