diff --git a/Projects/Server/Items/Container.cs b/Projects/Server/Items/Container.cs index bf4fab0b1..3481d182c 100644 --- a/Projects/Server/Items/Container.cs +++ b/Projects/Server/Items/Container.cs @@ -1212,21 +1212,23 @@ public partial class Container : Item { var consumed = 0; - using var toDelete = PooledRefQueue.Create(); + var toDelete = PooledRefQueue.Create(); - RecurseConsumeUpTo(this, type, amount, recurse, ref consumed, toDelete); + RecurseConsumeUpTo(this, type, amount, recurse, ref consumed, ref toDelete); while (toDelete.Count > 0) { toDelete.Dequeue().Delete(); } + toDelete.Dispose(); + return consumed; } private static void RecurseConsumeUpTo( Item current, Type type, int amount, bool recurse, ref int consumed, - PooledRefQueue toDelete + ref PooledRefQueue toDelete ) { if (current == null || current.Items.Count == 0) @@ -1260,7 +1262,7 @@ public partial class Container : Item } else if (recurse && item is Container) { - RecurseConsumeUpTo(item, type, amount, true, ref consumed, toDelete); + RecurseConsumeUpTo(item, type, amount, true, ref consumed, ref toDelete); } } }