Merge pull request #97481 from Chaosus/shader_fix_void_return

Fix shader crash when return a void function call
This commit is contained in:
Rémi Verschelde 2024-09-26 12:46:01 +02:00
commit b64b464ba7
No known key found for this signature in database
GPG key ID: C3336907360768E1

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