mirror of
https://github.com/godotengine/godot
synced 2024-10-07 08:47:43 +00:00
GDScript: Add script to cache on reload
This ensures that scripts created without a resource loader are properly included in the cache (such as builtin scripts) and are not tried to be loaded from the disk.
This commit is contained in:
parent
0f9923e67f
commit
8088e9e6ac
|
@ -596,6 +596,21 @@ Error GDScript::reload(bool p_keep_state) {
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
String source_path = path;
|
||||||
|
if (source_path.empty()) {
|
||||||
|
source_path = get_path();
|
||||||
|
}
|
||||||
|
if (!source_path.empty()) {
|
||||||
|
MutexLock lock(GDScriptCache::singleton->lock);
|
||||||
|
Ref<GDScript> self(this);
|
||||||
|
if (!GDScriptCache::singleton->shallow_gdscript_cache.has(source_path)) {
|
||||||
|
GDScriptCache::singleton->shallow_gdscript_cache[source_path] = self;
|
||||||
|
self->unreference();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
valid = false;
|
valid = false;
|
||||||
GDScriptParser parser;
|
GDScriptParser parser;
|
||||||
Error err = parser.parse(source, path, false);
|
Error err = parser.parse(source, path, false);
|
||||||
|
|
Loading…
Reference in a new issue