summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/io/resource_loader.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/io/resource_loader.h b/core/io/resource_loader.h
index 0c7d6c0feb..3c32a19066 100644
--- a/core/io/resource_loader.h
+++ b/core/io/resource_loader.h
@@ -230,7 +230,11 @@ public:
// 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) {
if (dep_err_notify) {
- callable_mp_static(dep_err_notify).bind(p_path, p_dependency, p_type).call_deferred();
+ 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();
+ }
}
}
static void set_dependency_error_notify_func(DependencyErrorNotify p_err_notify) {