Преглед изворни кода

Merge pull request #73291 from vonagam/fix-unsafe-weak-binop

GDScript: Fix missing unsafety mark for binary op with weak variables
Rémi Verschelde пре 2 година
родитељ
комит
6bf63a3542
1 измењених фајлова са 2 додато и 0 уклоњено
  1. 2 0
      modules/gdscript/gdscript_analyzer.cpp

+ 2 - 0
modules/gdscript/gdscript_analyzer.cpp

@@ -2599,6 +2599,8 @@ void GDScriptAnalyzer::reduce_binary_op(GDScriptParser::BinaryOpNode *p_binary_o
 		result = get_operation_type(p_binary_op->variant_op, left_type, right_type, valid, p_binary_op);
 		if (!valid) {
 			push_error(vformat(R"(Invalid operands "%s" and "%s" for "%s" operator.)", left_type.to_string(), right_type.to_string(), Variant::get_operator_name(p_binary_op->variant_op)), p_binary_op);
+		} else if (result.type_source != GDScriptParser::DataType::ANNOTATED_EXPLICIT) {
+			mark_node_unsafe(p_binary_op);
 		}
 	} else {
 		ERR_PRINT("Parser bug: unknown binary operation.");