diff options
| author | Paul Joannon | 2018-02-21 12:50:05 +0100 |
|---|---|---|
| committer | Hein-Pieter van Braam | 2018-05-16 12:27:45 +0200 |
| commit | 81eb60434a67aa0ea4bd7254063ad4008947ebfb (patch) | |
| tree | e3105542384599b10ad068af0619c2aafee7b569 /modules/mono/mono_gd/gd_mono_method.cpp | |
| parent | 6635f2a1085a85f4195401d27d079a27bd98f3e0 (diff) | |
| download | godot-81eb60434a67aa0ea4bd7254063ad4008947ebfb.tar.gz godot-81eb60434a67aa0ea4bd7254063ad4008947ebfb.tar.zst godot-81eb60434a67aa0ea4bd7254063ad4008947ebfb.zip | |
[mono] fix signals parameter retrieval
(cherry picked from commit 7a723954125e9409c102b5cf3cde6f9a6464be52)
Diffstat (limited to '')
| -rw-r--r-- | modules/mono/mono_gd/gd_mono_method.cpp | 12 |
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 { |
