Browse Source

Merge pull request #73679 from vnen/gdscript-autoload-ref-crash-fix

GDScript: Fix crash when autoload script can't be found
Rémi Verschelde 2 years ago
parent
commit
88decd4391
1 changed files with 4 additions and 0 deletions
  1. 4 0
      modules/gdscript/gdscript_analyzer.cpp

+ 4 - 0
modules/gdscript/gdscript_analyzer.cpp

@@ -657,6 +657,10 @@ GDScriptParser::DataType GDScriptAnalyzer::resolve_datatype(GDScriptParser::Type
 	} else if (ProjectSettings::get_singleton()->has_autoload(first) && ProjectSettings::get_singleton()->get_autoload(first).is_singleton) {
 		const ProjectSettings::AutoloadInfo &autoload = ProjectSettings::get_singleton()->get_autoload(first);
 		Ref<GDScriptParserRef> ref = get_parser_for(autoload.path);
+		if (ref.is_null()) {
+			push_error(vformat(R"(The referenced autoload "%s" (from "%s") could not be loaded.)", first, autoload.path), p_type);
+			return bad_type;
+		}
 		if (ref->raise_status(GDScriptParserRef::INHERITANCE_SOLVED) != OK) {
 			push_error(vformat(R"(Could not parse singleton "%s" from "%s".)", first, autoload.path), p_type);
 			return bad_type;