From a74e4113ca4d485e46c5d7aa8f42a163799decb2 Mon Sep 17 00:00:00 2001 From: Andre Date: Fri, 23 Jun 2023 14:43:18 -0700 Subject: [PATCH] #5916 fix multiple drop things (#5917) * #5916 fix multiple drop things * Update orleans/Adventure/AdventureGrains/PlayerGrain.cs --------- Co-authored-by: David Pine --- orleans/Adventure/AdventureGrains/PlayerGrain.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/orleans/Adventure/AdventureGrains/PlayerGrain.cs b/orleans/Adventure/AdventureGrains/PlayerGrain.cs index 12d1158a6b0..2968b011bbd 100644 --- a/orleans/Adventure/AdventureGrains/PlayerGrain.cs +++ b/orleans/Adventure/AdventureGrains/PlayerGrain.cs @@ -26,8 +26,12 @@ public override Task OnActivateAsync(CancellationToken cancellationToken) async Task IPlayerGrain.Die() { // Drop everything - var tasks = _things.Select(Drop).ToList(); - await Task.WhenAll(tasks); + var dropTasks = new List>(); + foreach (var thing in _things.ToArray() /* New collection */) + { + dropTasks.Add(Drop(thing)); + } + await Task.WhenAll(dropTasks); // Exit the game if (_roomGrain is not null && _myInfo is not null)