فهرست منبع

Merge pull request #97481 from Chaosus/shader_fix_void_return

Fix shader crash when return a void function call
Rémi Verschelde 11 ماه پیش
والد
کامیت
b64b464ba7
1فایلهای تغییر یافته به همراه5 افزوده شده و 0 حذف شده
  1. 5 0
      servers/rendering/shader_language.cpp

+ 5 - 0
servers/rendering/shader_language.cpp

@@ -8476,6 +8476,11 @@ Error ShaderLanguage::_parse_block(BlockNode *p_block, const FunctionInfo &p_fun
 					return ERR_PARSE_ERROR;
 				}
 			} 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
 
 #ifdef DEBUG_ENABLED