From 245e76cd8d7802f7013b8917359244801e80fdad Mon Sep 17 00:00:00 2001 From: EvilFactory Date: Fri, 23 Sep 2022 11:42:49 -0300 Subject: [PATCH] Fix #106 turn list into an array before looping through hooks --- .../BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs index 38df2d536..d28988a60 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs @@ -759,12 +759,12 @@ namespace Barotrauma T lastResult = default; - var hooksToRemove = new List(); - foreach ((var key, var tuple) in hookFunctions[name]) + var hooks = hookFunctions[name].ToArray(); + foreach ((string key, var tuple) in hooks) { if (tuple.Item2 != null && tuple.Item2.IsDisposed) { - hooksToRemove.Add(key); + hookFunctions[name].Remove(key); continue; } @@ -804,10 +804,6 @@ namespace Barotrauma luaCs.HandleException(e, LuaCsMessageOrigin.Unknown); } } - foreach (var key in hooksToRemove) - { - hookFunctions[name].Remove(key); - } return lastResult; }