Browse Source

Merge pull request #37187 from Chaosus/shader_fix

Fix incorrect shader block parsing
Yuri Roubinsky 5 years ago
parent
commit
cce0a27ec7
1 changed files with 3 additions and 1 deletions
  1. 3 1
      servers/visual/shader_language.cpp

+ 3 - 1
servers/visual/shader_language.cpp

@@ -5083,7 +5083,9 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const Map<StringName, Bui
 			//a sub block, just because..
 			//a sub block, just because..
 			BlockNode *block = alloc_node<BlockNode>();
 			BlockNode *block = alloc_node<BlockNode>();
 			block->parent_block = p_block;
 			block->parent_block = p_block;
-			_parse_block(block, p_builtin_types, false, p_can_break, p_can_continue);
+			if (_parse_block(block, p_builtin_types, false, p_can_break, p_can_continue) != OK) {
+				return ERR_PARSE_ERROR;
+			}
 			p_block->statements.push_back(block);
 			p_block->statements.push_back(block);
 		} else if (tk.type == TK_CF_IF) {
 		} else if (tk.type == TK_CF_IF) {
 			//if () {}
 			//if () {}