Browse Source

SignalAwaiter::_signal_callback was calling the thunk with a wrong pointer

Paul Joannon 7 years ago
parent
commit
76a615aea4
2 changed files with 2 additions and 2 deletions
  1. 1 1
      modules/mono/mono_gd/gd_mono_utils.h
  2. 1 1
      modules/mono/signal_awaiter_utils.cpp

+ 1 - 1
modules/mono/mono_gd/gd_mono_utils.h

@@ -43,7 +43,7 @@ namespace GDMonoUtils {
 
 typedef MonoObject *(*MarshalUtils_DictToArrays)(MonoObject *, MonoArray **, MonoArray **, MonoObject **);
 typedef MonoObject *(*MarshalUtils_ArraysToDict)(MonoArray *, MonoArray *, MonoObject **);
-typedef MonoObject *(*SignalAwaiter_SignalCallback)(MonoObject *, MonoArray **, MonoObject **);
+typedef MonoObject *(*SignalAwaiter_SignalCallback)(MonoObject *, MonoArray *, MonoObject **);
 typedef MonoObject *(*SignalAwaiter_FailureCallback)(MonoObject *, MonoObject **);
 typedef MonoObject *(*GodotTaskScheduler_Activate)(MonoObject *, MonoObject **);
 typedef MonoArray *(*StackTrace_GetFrames)(MonoObject *, MonoObject **);

+ 1 - 1
modules/mono/signal_awaiter_utils.cpp

@@ -102,7 +102,7 @@ Variant SignalAwaiterHandle::_signal_callback(const Variant **p_args, int p_argc
 	GDMonoUtils::SignalAwaiter_SignalCallback thunk = CACHED_METHOD_THUNK(SignalAwaiter, SignalCallback);
 
 	MonoObject *ex = NULL;
-	thunk(get_target(), &signal_args, &ex);
+	thunk(get_target(), signal_args, &ex);
 
 	if (ex) {
 		mono_print_unhandled_exception(ex);