Make notify_dependency_error only defer calls if called from secondary threads.
(cherry picked from commit 0b0a6109b6
)
This commit is contained in:
parent
3d47a3662f
commit
eb414422fe
|
@ -231,9 +231,13 @@ public:
|
||||||
// Loaders can safely use this regardless which thread they are running on.
|
// Loaders can safely use this regardless which thread they are running on.
|
||||||
static void notify_dependency_error(const String &p_path, const String &p_dependency, const String &p_type) {
|
static void notify_dependency_error(const String &p_path, const String &p_dependency, const String &p_type) {
|
||||||
if (dep_err_notify) {
|
if (dep_err_notify) {
|
||||||
|
if (Thread::get_caller_id() == Thread::get_main_id()) {
|
||||||
|
dep_err_notify(p_path, p_dependency, p_type);
|
||||||
|
} else {
|
||||||
callable_mp_static(dep_err_notify).bind(p_path, p_dependency, p_type).call_deferred();
|
callable_mp_static(dep_err_notify).bind(p_path, p_dependency, p_type).call_deferred();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
static void set_dependency_error_notify_func(DependencyErrorNotify p_err_notify) {
|
static void set_dependency_error_notify_func(DependencyErrorNotify p_err_notify) {
|
||||||
dep_err_notify = p_err_notify;
|
dep_err_notify = p_err_notify;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue