فهرست منبع

Merge pull request #48347 from Blackiris/fix-temporary-key-not-released

GDScript: Fix temporary value not released when used as a dictionary key
George Marques 4 سال پیش
والد
کامیت
cdb3726fe6
1فایلهای تغییر یافته به همراه3 افزوده شده و 0 حذف شده
  1. 3 0
      modules/gdscript/gdscript_compiler.cpp

+ 3 - 0
modules/gdscript/gdscript_compiler.cpp

@@ -971,6 +971,9 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code
 				} else {
 					gen->write_set(prev_base, key, assigned);
 				}
+				if (key.mode == GDScriptCodeGenerator::Address::TEMPORARY) {
+					gen->pop_temporary();
+				}
 				if (assigned.mode == GDScriptCodeGenerator::Address::TEMPORARY) {
 					gen->pop_temporary();
 				}