diff options
author | Julien Nguyen <julien.nguyen3@gmail.com> | 2021-05-01 11:44:39 +0200 |
---|---|---|
committer | Julien Nguyen <julien.nguyen3@gmail.com> | 2021-05-06 22:13:05 +0200 |
commit | 82522662f85680863c043b56733831f4a5df2a2e (patch) | |
tree | ce1449324394274cda8712d00334b8fe4d68e8a6 /modules/gdscript/gdscript_compiler.cpp | |
parent | 4a7679e4dd9f68270b3d27797146f88491f182b8 (diff) | |
download | redot-engine-82522662f85680863c043b56733831f4a5df2a2e.tar.gz |
Fix temporary value not released when used as a dictionary key
Diffstat (limited to 'modules/gdscript/gdscript_compiler.cpp')
-rw-r--r-- | modules/gdscript/gdscript_compiler.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_compiler.cpp b/modules/gdscript/gdscript_compiler.cpp index 37ce8ae2cb..ead99fa425 100644 --- a/modules/gdscript/gdscript_compiler.cpp +++ b/modules/gdscript/gdscript_compiler.cpp @@ -966,6 +966,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(); } |