Browse Source

Let thread func have optional parameter

Fixes #38042.

(cherry picked from commit 78ead60372c3342b15767265c0b0c976658ebc35)
Faymoon 5 years ago
parent
commit
03f7d707e7
1 changed files with 2 additions and 1 deletions
  1. 2 1
      core/bind/core_bind.cpp

+ 2 - 1
core/bind/core_bind.cpp

@@ -2577,10 +2577,11 @@ void _Thread::_start_func(void *ud) {
 	memdelete(tud);
 	Variant::CallError ce;
 	const Variant *arg[1] = { &t->userdata };
+	int argc = (int)(arg[0]->get_type() != Variant::NIL);
 
 	Thread::set_name(t->target_method);
 
-	t->ret = t->target_instance->call(t->target_method, arg, 1, ce);
+	t->ret = t->target_instance->call(t->target_method, arg, argc, ce);
 	if (ce.error != Variant::CallError::CALL_OK) {
 		String reason;
 		switch (ce.error) {