Browse Source

Merge pull request #78478 from YuriSizov/gdscript-fix-container-element-cmp

Make container element type comparison safe
Yuri Sizov 2 years ago
parent
commit
d7af287ce3
1 changed files with 1 additions and 1 deletions
  1. 1 1
      modules/gdscript/gdscript_analyzer.cpp

+ 1 - 1
modules/gdscript/gdscript_analyzer.cpp

@@ -5003,7 +5003,7 @@ GDScriptParser::DataType GDScriptAnalyzer::get_operation_type(Variant::Operator
 	bool hard_operation = p_a.is_hard_type() && p_b.is_hard_type();
 	bool hard_operation = p_a.is_hard_type() && p_b.is_hard_type();
 
 
 	if (p_operation == Variant::OP_ADD && a_type == Variant::ARRAY && b_type == Variant::ARRAY) {
 	if (p_operation == Variant::OP_ADD && a_type == Variant::ARRAY && b_type == Variant::ARRAY) {
-		if (p_a.get_container_element_type() == p_a.get_container_element_type()) {
+		if (p_a.has_container_element_type() && p_b.has_container_element_type() && p_a.get_container_element_type() == p_b.get_container_element_type()) {
 			r_valid = true;
 			r_valid = true;
 			result = p_a;
 			result = p_a;
 			result.type_source = hard_operation ? GDScriptParser::DataType::ANNOTATED_INFERRED : GDScriptParser::DataType::INFERRED;
 			result.type_source = hard_operation ? GDScriptParser::DataType::ANNOTATED_INFERRED : GDScriptParser::DataType::INFERRED;