Correctly set GDScript internal path for shallow scripts

This commit is contained in:
HolonProduction 2025-12-04 19:50:27 +01:00
parent 78d91947f6
commit 2ce3be221a
2 changed files with 8 additions and 1 deletions

View file

@ -1078,6 +1078,13 @@ void GDScript::set_path_cache(const String &p_path) {
if (is_root_script()) { if (is_root_script()) {
Script::set_path_cache(p_path); Script::set_path_cache(p_path);
} }
path = p_path;
path_valid = true;
for (KeyValue<StringName, Ref<GDScript>> &kv : subclasses) {
kv.value->set_path_cache(p_path);
}
} }
void GDScript::set_path(const String &p_path, bool p_take_over) { void GDScript::set_path(const String &p_path, bool p_take_over) {

View file

@ -153,7 +153,7 @@ thread_local SafeBinaryMutex<GDScriptCache::BINARY_MUTEX_TAG>::TLSData SafeBinar
SafeBinaryMutex<GDScriptCache::BINARY_MUTEX_TAG> GDScriptCache::mutex; SafeBinaryMutex<GDScriptCache::BINARY_MUTEX_TAG> GDScriptCache::mutex;
void GDScriptCache::move_script(const String &p_from, const String &p_to) { void GDScriptCache::move_script(const String &p_from, const String &p_to) {
if (singleton == nullptr || p_from == p_to) { if (singleton == nullptr || p_from == p_to || p_from.is_empty()) {
return; return;
} }