mirror of
https://github.com/godotengine/godot.git
synced 2025-10-21 00:43:46 +00:00
Remake resource thread safety and API
* Ensures thread safety when resources are destroyed. * Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe. * Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem. Supersedes #57533
This commit is contained in:
parent
c18d0f2035
commit
e772b65d92
15 changed files with 117 additions and 126 deletions
|
@ -803,7 +803,7 @@ public:
|
|||
//if the script is not in use by anyone, we can safely assume whatever we got is not casting to it.
|
||||
return 1;
|
||||
}
|
||||
Ref<Script> cast_script = Ref<Resource>(ResourceCache::get(script));
|
||||
Ref<Script> cast_script = ResourceCache::get_ref(script);
|
||||
if (!cast_script.is_valid()) {
|
||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
|
||||
r_error_str = "Script path is not a script: " + script;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue