|
@@ -2701,7 +2701,7 @@ void _Thread::_start_func(void *ud) {
|
|
|
Error _Thread::start(Object *p_instance, const StringName &p_method, const Variant &p_userdata, Priority p_priority) {
|
|
|
ERR_FAIL_COND_V_MSG(is_active(), ERR_ALREADY_IN_USE, "Thread already started.");
|
|
|
ERR_FAIL_COND_V(!p_instance, ERR_INVALID_PARAMETER);
|
|
|
- ERR_FAIL_COND_V(p_method == StringName(), ERR_INVALID_PARAMETER);
|
|
|
+ ERR_FAIL_COND_V(p_method == StringName() || !p_instance->has_method(p_method), ERR_INVALID_PARAMETER);
|
|
|
ERR_FAIL_INDEX_V(p_priority, PRIORITY_MAX, ERR_INVALID_PARAMETER);
|
|
|
|
|
|
ret = Variant();
|