Browse Source

Merge pull request #46275 from Chaosus/shader_fix_struct_crash

Prevents shader crash if two struct with the same name are declared
Rémi Verschelde 4 năm trước cách đây
mục cha
commit
b87f448785
1 tập tin đã thay đổi với 4 bổ sung0 xóa
  1. 4 0
      servers/rendering/shader_language.cpp

+ 4 - 0
servers/rendering/shader_language.cpp

@@ -6135,6 +6135,10 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct
 				tk = _get_token();
 				if (tk.type == TK_IDENTIFIER) {
 					st.name = tk.text;
+					if (shader->structs.has(st.name)) {
+						_set_error("Redefinition of '" + String(st.name) + "'");
+						return ERR_PARSE_ERROR;
+					}
 					tk = _get_token();
 					if (tk.type != TK_CURLY_BRACKET_OPEN) {
 						_set_error("Expected '{'");