From c66008aa427c1e095378242301f445eb958d5e69 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sun, 19 Feb 2023 20:33:13 +0100 Subject: [PATCH] fix mediatorspam --- MareSynchronos/MareSynchronos.csproj | 2 +- MareSynchronos/Mediator/MareMediator.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 3bf84e0..65c5261 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.7.32 + 0.7.33 https://github.com/Penumbra-Sync/client diff --git a/MareSynchronos/Mediator/MareMediator.cs b/MareSynchronos/Mediator/MareMediator.cs index c6e2de6..61db0f8 100644 --- a/MareSynchronos/Mediator/MareMediator.cs +++ b/MareSynchronos/Mediator/MareMediator.cs @@ -43,7 +43,7 @@ public class MareMediator : IDisposable Stopwatch globalStopwatch = Stopwatch.StartNew(); _performanceCollector.LogPerformance(this, $"Publish>{message.GetType().Name}", () => { - foreach (var subscriber in subscribers.ToList()) + foreach (var subscriber in subscribers.Where(s => s.Subscriber != null).ToList()) { try { @@ -52,7 +52,7 @@ public class MareMediator : IDisposable catch (Exception ex) { _logger.LogCritical(ex, "Error executing {type} for subscriber {subscriber}, removing from Mediator", message.GetType(), subscriber); - subscribers.RemoveWhere(s => s == subscriber); + _subscriberDict[message.GetType()].RemoveWhere(s => s == subscriber); } } });