From 6beca446fc0c416fd8cc1e6442494a9a6ce2940d Mon Sep 17 00:00:00 2001 From: Anna Date: Sat, 8 Aug 2020 06:21:44 -0400 Subject: [PATCH] fix: lock on history when modifying it --- Peeping Tom/TargetWatcher.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Peeping Tom/TargetWatcher.cs b/Peeping Tom/TargetWatcher.cs index b4cf3a2..21bb9d5 100644 --- a/Peeping Tom/TargetWatcher.cs +++ b/Peeping Tom/TargetWatcher.cs @@ -84,6 +84,8 @@ namespace PeepingTom { return; } + this.previousMutex.WaitOne(); + foreach (PlayerCharacter targeter in targeting) { // add the targeter to the previous list if (this.previousTargeters.Any(old => old.ActorId == targeter.ActorId)) { @@ -96,6 +98,8 @@ namespace PeepingTom { while (this.previousTargeters.Where(old => targeting.All(actor => actor.ActorId != old.ActorId)).Count() > this.plugin.Config.NumHistory) { this.previousTargeters.RemoveAt(this.previousTargeters.Count - 1); } + + this.previousMutex.ReleaseMutex(); } private PlayerCharacter[] GetTargeting(Actor player) {