浏览代码

Let thread func have optional parameter

Fixes #38042.
Faymoon 5 年之前
父节点
当前提交
78ead60372
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      core/core_bind.cpp

+ 2 - 1
core/core_bind.cpp

@@ -1729,10 +1729,11 @@ void _Thread::_start_func(void *ud) {
 	memdelete(tud);
 	Callable::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 != Callable::CallError::CALL_OK) {
 		String reason;
 		switch (ce.error) {