From edf16effa0b7285fbfde21fcd92de766265833fb Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sun, 6 Jul 2025 10:23:37 -0700 Subject: [PATCH] fix: Fixes container not properly consuming in some cases (#2230) --- Projects/Server/Items/Container.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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); } } }