summaryrefslogtreecommitdiff
path: root/modules/mono/mono_gd/gd_mono_property.cpp
diff options
context:
space:
mode:
authorIgnacio Etcheverry <neikeq@users.noreply.github.com>2018-07-23 23:59:04 +0200
committerGitHub <noreply@github.com>2018-07-23 23:59:04 +0200
commit779c9d638e7046f285b301aa79f7cf50aa4c2f1c (patch)
tree9a1f806ac10da3b1d125a68739ab9f66fad81789 /modules/mono/mono_gd/gd_mono_property.cpp
parentb66580927e8d4d0fb568d66d2193c1f2a6772c88 (diff)
parentee3c476c9a8a3be949252468570e75f35fea2697 (diff)
Merge pull request #15880 from neikeq/better-collections
Mono: Add Dictionary and Array classes
Diffstat (limited to 'modules/mono/mono_gd/gd_mono_property.cpp')
-rw-r--r--modules/mono/mono_gd/gd_mono_property.cpp19
1 files changed, 2 insertions, 17 deletions
diff --git a/modules/mono/mono_gd/gd_mono_property.cpp b/modules/mono/mono_gd/gd_mono_property.cpp
index 1f837a2d78..a1c710c26c 100644
--- a/modules/mono/mono_gd/gd_mono_property.cpp
+++ b/modules/mono/mono_gd/gd_mono_property.cpp
@@ -139,23 +139,8 @@ bool GDMonoProperty::has_setter() {
}
void GDMonoProperty::set_value(MonoObject *p_object, MonoObject *p_value, MonoException **r_exc) {
- MonoMethod *prop_method = mono_property_get_set_method(mono_property);
-
- MonoArray *params = mono_array_new(mono_domain_get(), CACHED_CLASS_RAW(MonoObject), 1);
- mono_array_set(params, MonoObject *, 0, p_value);
-
- MonoException *exc = NULL;
- GD_MONO_BEGIN_RUNTIME_INVOKE;
- mono_runtime_invoke_array(prop_method, p_object, params, (MonoObject **)&exc);
- GD_MONO_END_RUNTIME_INVOKE;
-
- if (exc) {
- if (r_exc) {
- *r_exc = exc;
- } else {
- GDMonoUtils::set_pending_exception(exc);
- }
- }
+ void *params[1] = { p_value };
+ set_value(p_object, params, r_exc);
}
void GDMonoProperty::set_value(MonoObject *p_object, void **p_params, MonoException **r_exc) {