Browse Source

Restore shader parsing errors with lack of semicolon in a block

Yuri Roubinsky 3 years ago
parent
commit
8862d1426d
1 changed files with 3 additions and 2 deletions
  1. 3 2
      servers/rendering/shader_language.cpp

+ 3 - 2
servers/rendering/shader_language.cpp

@@ -5314,7 +5314,6 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 
 			if (tk.type == TK_CURSOR) {
 				//do nothing
-			} else if (tk.type == TK_IDENTIFIER) {
 			} else if (tk.type == TK_PERIOD) {
 				DataType dt = expr->get_datatype();
 				String st = expr->get_datatype_name();
@@ -6931,7 +6930,9 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun
 				block->parent_block = p_block;
 				cf->blocks.push_back(block);
 				err = _parse_block(block, p_function_info, true, p_can_break, p_can_continue);
-
+				if (err) {
+					return err;
+				}
 			} else {
 				_set_tkpos(pos); //rollback
 			}