Let thread func have optional parameter

Fixes #38042.

(cherry picked from commit 78ead60372)
This commit is contained in:
Faymoon 2020-04-21 15:18:50 +02:00 committed by Rémi Verschelde
parent 9343ee5c2b
commit 03f7d707e7
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

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