Browse Source

Fix incorrect unused local var warning in shader blocks

Yuri Roubinsky 3 years ago
parent
commit
3ca57e5157
1 changed files with 8 additions and 2 deletions
  1. 8 2
      servers/rendering/shader_language.cpp

+ 8 - 2
servers/rendering/shader_language.cpp

@@ -5208,9 +5208,15 @@ ShaderLanguage::Node *ShaderLanguage::_parse_expression(BlockNode *p_block, cons
 #ifdef DEBUG_ENABLED
 #ifdef DEBUG_ENABLED
 				if (check_warnings) {
 				if (check_warnings) {
 					StringName func_name;
 					StringName func_name;
+					BlockNode *b = p_block;
 
 
-					if (p_block && p_block->parent_function) {
-						func_name = p_block->parent_function->name;
+					while (b) {
+						if (b->parent_function) {
+							func_name = b->parent_function->name;
+							break;
+						} else {
+							b = b->parent_block;
+						}
 					}
 					}
 
 
 					_parse_used_identifier(identifier, ident_type, func_name);
 					_parse_used_identifier(identifier, ident_type, func_name);