浏览代码

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.
Pieter-Jan Briers 7 年之前
父节点
当前提交
af39684885
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      modules/mono/mono_gd/gd_mono_utils.cpp

+ 2 - 2
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;
 }