[mono] fix signals parameter retrieval

This commit is contained in:
Paul Joannon 2018-02-21 12:50:05 +01:00
parent 5d6c64969c
commit 7a72395412
No known key found for this signature in database
GPG Key ID: 93604DC6128B663C
1 changed files with 7 additions and 5 deletions

View File

@ -230,13 +230,15 @@ String GDMonoMethod::get_signature_desc(bool p_namespaces) const {
} }
void GDMonoMethod::get_parameter_names(Vector<StringName> &names) const { void GDMonoMethod::get_parameter_names(Vector<StringName> &names) const {
const char *_names = memnew_arr(char, params_count); if (params_count > 0) {
mono_method_get_param_names(mono_method, &_names); 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) { for (int i = 0; i < params_count; ++i) {
names.push_back(StringName(&_names[i])); names.push_back(StringName(_names[i]));
} }
memdelete_arr(_names); memdelete_arr(_names);
} }
}
void GDMonoMethod::get_parameter_types(Vector<ManagedType> &types) const { void GDMonoMethod::get_parameter_types(Vector<ManagedType> &types) const {
for (int i = 0; i < param_types.size(); ++i) { for (int i = 0; i < param_types.size(); ++i) {