diff --git a/client/Messages.cs b/client/Messages.cs index a45d0af..6309bfb 100644 --- a/client/Messages.cs +++ b/client/Messages.cs @@ -107,7 +107,15 @@ internal class Messages : IDisposable { } internal void Add(Message message) { + this.CurrentMutex.Wait(); this.Current[message.Id] = message; + this.CurrentMutex.Release(); this.SpawnQueue.Enqueue(message); } + + internal void Remove(Guid id) { + this.CurrentMutex.Wait(); + this.Current.Remove(id); + this.CurrentMutex.Release(); + } } diff --git a/client/Ui/MainWindowTabs/MessageList.cs b/client/Ui/MainWindowTabs/MessageList.cs index 1bf1bd4..6a47bd5 100644 --- a/client/Ui/MainWindowTabs/MessageList.cs +++ b/client/Ui/MainWindowTabs/MessageList.cs @@ -66,6 +66,7 @@ internal class MessageList : ITab { if (resp.IsSuccessStatusCode) { this.Refresh(); this.Plugin.Vfx.RemoveStatic(id); + this.Plugin.Messages.Remove(id); } }); }