summaryrefslogtreecommitdiff
path: root/servers/rendering
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2021-12-11 17:30:40 +0300
committerYuri Roubinsky <chaosus89@gmail.com>2021-12-11 17:30:40 +0300
commit8862d1426d1a9fb6476665df55eaf876f8a9e31d (patch)
treec82a5f5b60175420d96ec39607d9cec143c2f71d /servers/rendering
parentf1ca14cc8daf7529569a11c9209c18f8f73e837a (diff)
Restore shader parsing errors with lack of semicolon in a block
Diffstat (limited to 'servers/rendering')
-rw-r--r--servers/rendering/shader_language.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp
index 0c0ee67962..b077501a38 100644
--- a/servers/rendering/shader_language.cpp
+++ b/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
}