Merge pull request #55931 from groud/avoid_crash_gdscript_analyzer
This commit is contained in:
commit
4601809c5a
@ -484,7 +484,7 @@ GDScriptParser::DataType GDScriptAnalyzer::resolve_datatype(GDScriptParser::Type
|
||||
result = parser->head->get_datatype();
|
||||
} else {
|
||||
Ref<GDScriptParserRef> ref = get_parser_for(ScriptServer::get_global_class_path(first));
|
||||
if (ref->raise_status(GDScriptParserRef::INTERFACE_SOLVED) != OK) {
|
||||
if (!ref.is_valid() || ref->raise_status(GDScriptParserRef::INTERFACE_SOLVED) != OK) {
|
||||
push_error(vformat(R"(Could not parse global class "%s" from "%s".)", first, ScriptServer::get_global_class_path(first)), p_type);
|
||||
return GDScriptParser::DataType();
|
||||
}
|
||||
@ -3956,7 +3956,9 @@ Ref<GDScriptParserRef> GDScriptAnalyzer::get_parser_for(const String &p_path) {
|
||||
} else {
|
||||
Error err = OK;
|
||||
ref = GDScriptCache::get_parser(p_path, GDScriptParserRef::EMPTY, err, parser->script_path);
|
||||
depended_parsers[p_path] = ref;
|
||||
if (ref.is_valid()) {
|
||||
depended_parsers[p_path] = ref;
|
||||
}
|
||||
}
|
||||
|
||||
return ref;
|
||||
|
Loading…
Reference in New Issue
Block a user