浏览代码

Merge pull request #55493 from V-Sekai/gdscript-crash

GDScript cache crashfix.
Rémi Verschelde 3 年之前
父节点
当前提交
2f277994d2
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      modules/gdscript/gdscript_cache.cpp

+ 4 - 1
modules/gdscript/gdscript_cache.cpp

@@ -122,6 +122,10 @@ Ref<GDScriptParserRef> GDScriptCache::get_parser(const String &p_path, GDScriptP
 	}
 	if (singleton->parser_map.has(p_path)) {
 		ref = Ref<GDScriptParserRef>(singleton->parser_map[p_path]);
+		if (ref.is_null()) {
+			r_error = ERR_INVALID_DATA;
+			return ref;
+		}
 	} else {
 		if (!FileAccess::exists(p_path)) {
 			r_error = ERR_FILE_NOT_FOUND;
@@ -133,7 +137,6 @@ Ref<GDScriptParserRef> GDScriptCache::get_parser(const String &p_path, GDScriptP
 		ref->path = p_path;
 		singleton->parser_map[p_path] = ref.ptr();
 	}
-
 	r_error = ref->raise_status(p_status);
 
 	return ref;