summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter-Jan Briers <pieterjan.briers@gmail.com>2018-08-04 20:22:44 +0200
committerPJB3005 <pieterjan.briers+git@gmail.com>2018-08-23 20:21:36 +0200
commitaf39684885c519b44b654900fd89b80d4760fdb8 (patch)
treeedf6652912aaced36eb54277c68923453ecd2873
parent7c712a25bc40c4d8e09867b61c941af06c6799f5 (diff)
Fix Mono exception handling.
First of all, this fixes the handling of exceptions so the engine actually notices them, it was broken in 4172fa03b56bb60fe096639585e0ca40df73b677. Next, unhandled exceptions now do NOT cause an abort(). They're logged now, so before #16987. The pending exception thing still works though.
-rw-r--r--modules/mono/mono_gd/gd_mono_utils.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/mono/mono_gd/gd_mono_utils.cpp b/modules/mono/mono_gd/gd_mono_utils.cpp
index 911d629956..bebc3b863f 100644
--- a/modules/mono/mono_gd/gd_mono_utils.cpp
+++ b/modules/mono/mono_gd/gd_mono_utils.cpp
@@ -590,14 +590,14 @@ current_invoke_count = 0;
MonoObject *runtime_invoke(MonoMethod *p_method, void *p_obj, void **p_params, MonoException **p_exc) {
GD_MONO_BEGIN_RUNTIME_INVOKE;
- MonoObject *ret = mono_runtime_invoke(p_method, p_obj, p_params, (MonoObject **)&p_exc);
+ MonoObject *ret = mono_runtime_invoke(p_method, p_obj, p_params, (MonoObject **)p_exc);
GD_MONO_END_RUNTIME_INVOKE;
return ret;
}
MonoObject *runtime_invoke_array(MonoMethod *p_method, void *p_obj, MonoArray *p_params, MonoException **p_exc) {
GD_MONO_BEGIN_RUNTIME_INVOKE;
- MonoObject *ret = mono_runtime_invoke_array(p_method, p_obj, p_params, (MonoObject **)&p_exc);
+ MonoObject *ret = mono_runtime_invoke_array(p_method, p_obj, p_params, (MonoObject **)p_exc);
GD_MONO_END_RUNTIME_INVOKE;
return ret;
}