2
0
Эх сурвалжийг харах

Merge pull request #36859 from ThakeeNathees/logic-error-for-loop-range-parsing

Fix: logic error in gdscript_parser.cpp for-loop-range
Rémi Verschelde 5 жил өмнө
parent
commit
95c9345b63

+ 3 - 3
modules/gdscript/gdscript_parser.cpp

@@ -3102,18 +3102,18 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) {
 						Vector<Node *> args;
 						Vector<Node *> args;
 						Vector<double> constants;
 						Vector<double> constants;
 
 
-						bool constant = false;
+						bool constant = true;
 
 
 						for (int i = 1; i < op->arguments.size(); i++) {
 						for (int i = 1; i < op->arguments.size(); i++) {
 							args.push_back(op->arguments[i]);
 							args.push_back(op->arguments[i]);
-							if (constant && op->arguments[i]->type == Node::TYPE_CONSTANT) {
+							if (op->arguments[i]->type == Node::TYPE_CONSTANT) {
 								ConstantNode *c = static_cast<ConstantNode *>(op->arguments[i]);
 								ConstantNode *c = static_cast<ConstantNode *>(op->arguments[i]);
 								if (c->value.get_type() == Variant::FLOAT || c->value.get_type() == Variant::INT) {
 								if (c->value.get_type() == Variant::FLOAT || c->value.get_type() == Variant::INT) {
 									constants.push_back(c->value);
 									constants.push_back(c->value);
-									constant = true;
 								}
 								}
 							} else {
 							} else {
 								constant = false;
 								constant = false;
+								break;
 							}
 							}
 						}
 						}