Fix shader crash when return a void function call

This commit is contained in:
Chaosus 2024-09-26 11:20:39 +03:00
parent f7c567e2f5
commit 3828d45e31

View File

@ -8476,6 +8476,11 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun
return ERR_PARSE_ERROR; return ERR_PARSE_ERROR;
} }
} else { } else {
if (b->parent_function->return_type == TYPE_VOID) {
_set_error(vformat(RTR("'%s' function cannot return a value."), "void"));
return ERR_PARSE_ERROR;
}
_set_tkpos(pos); //rollback, wants expression _set_tkpos(pos); //rollback, wants expression
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED