diff --git a/MareSynchronos/PlayerData/Handlers/PairHandler.cs b/MareSynchronos/PlayerData/Handlers/PairHandler.cs index 603d138..f71d2c7 100644 --- a/MareSynchronos/PlayerData/Handlers/PairHandler.cs +++ b/MareSynchronos/PlayerData/Handlers/PairHandler.cs @@ -416,6 +416,7 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase else if (_charaHandler?.Address == nint.Zero && IsVisible) { IsVisible = false; + _charaHandler?.Invalidate(); Logger.LogTrace("{this} visibility changed, now: {visi}", this, IsVisible); } } diff --git a/MareSynchronos/Services/PluginWarningNotificationService.cs b/MareSynchronos/Services/PluginWarningNotificationService.cs index 1765d60..db48b45 100644 --- a/MareSynchronos/Services/PluginWarningNotificationService.cs +++ b/MareSynchronos/Services/PluginWarningNotificationService.cs @@ -4,12 +4,13 @@ using MareSynchronos.API.Data.Comparer; using MareSynchronos.Interop; using MareSynchronos.MareConfiguration; using MareSynchronos.Services.Mediator; +using System.Collections.Concurrent; namespace MareSynchronos.PlayerData.Pairs; public class PluginWarningNotificationService { - private readonly Dictionary _cachedOptionalPluginWarnings = new(UserDataComparer.Instance); + private readonly ConcurrentDictionary _cachedOptionalPluginWarnings = new(UserDataComparer.Instance); private readonly IpcManager _ipcManager; private readonly MareConfigService _mareConfigService; private readonly MareMediator _mediator;