Merge pull request #96218 from RandomShaper/res_loader_user_case

ResourceLoader: Handle another case of user tokens
This commit is contained in:
Rémi Verschelde 2024-08-28 15:46:53 +02:00
commit 9f05ca9fc5
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 5 additions and 0 deletions

View File

@ -539,6 +539,11 @@ Ref<ResourceLoader::LoadToken> ResourceLoader::_load_start(const String &p_path,
if (!ignoring_cache && thread_load_tasks.has(local_path)) { if (!ignoring_cache && thread_load_tasks.has(local_path)) {
load_token = Ref<LoadToken>(thread_load_tasks[local_path].load_token); load_token = Ref<LoadToken>(thread_load_tasks[local_path].load_token);
if (load_token.is_valid()) { if (load_token.is_valid()) {
if (p_for_user) {
// Load task exists, with no user tokens at the moment.
// Let's "attach" to it.
_load_threaded_request_setup_user_token(load_token.ptr(), p_path);
}
return load_token; return load_token;
} else { } else {
// The token is dying (reached 0 on another thread). // The token is dying (reached 0 on another thread).