mirror of
https://github.com/godotengine/godot.git
synced 2025-11-02 22:51:08 +00:00
GDScript: Use path cache when checking preloaded scripts
The path itself might not always be set in some cases, especially when the script is just created and is already in the resource cache. Using get_path() in this case gets the correct resource path. This also adds a null check for safety in case the path is incorrect or missing, to avoid a crash in the engine.
This commit is contained in:
parent
2e8cba0bd9
commit
7725ebf3d2
1 changed files with 7 additions and 1 deletions
|
|
@ -3305,7 +3305,13 @@ GDScriptParser::DataType GDScriptAnalyzer::type_from_variant(const Variant &p_va
|
|||
current = current->_owner;
|
||||
}
|
||||
|
||||
Ref<GDScriptParserRef> ref = get_parser_for(current->path);
|
||||
Ref<GDScriptParserRef> ref = get_parser_for(current->get_path());
|
||||
if (ref.is_null()) {
|
||||
push_error("Could not find script in path.", p_source);
|
||||
GDScriptParser::DataType error_type;
|
||||
error_type.kind = GDScriptParser::DataType::VARIANT;
|
||||
return error_type;
|
||||
}
|
||||
ref->raise_status(GDScriptParserRef::INTERFACE_SOLVED);
|
||||
|
||||
GDScriptParser::ClassNode *found = ref->get_parser()->head;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue