From e6cbe3f7fbc44f541db5c33d6946e45decec5e6f Mon Sep 17 00:00:00 2001 From: Vit Nemecky Date: Wed, 18 Sep 2024 22:02:00 +0200 Subject: [PATCH] Fix inner exception for the first round of sequence play --- .../BrickController2/BusinessLogic/SequencePlayer.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/BrickController2/BrickController2/BusinessLogic/SequencePlayer.cs b/BrickController2/BrickController2/BusinessLogic/SequencePlayer.cs index 6e72fecf..1dff38f5 100644 --- a/BrickController2/BrickController2/BusinessLogic/SequencePlayer.cs +++ b/BrickController2/BrickController2/BusinessLogic/SequencePlayer.cs @@ -90,15 +90,18 @@ private void ProcessSequences() foreach (var kvp in _sequences) { + var key = kvp.Key; + var value = kvp.Value; // Start the sequence "now" if it hasn't been started yet - if (!kvp.Value.StartTimeMs.HasValue) + if (!value.StartTimeMs.HasValue) { - _sequences[kvp.Key] = (kvp.Value.Sequence, kvp.Value.Invert, _timeSinceStartMs); + value = (value.Sequence, value.Invert, _timeSinceStartMs); + _sequences[key] = value; } - if (!ProcessSequence(kvp.Key.DeviceId, kvp.Key.Channel, kvp.Value.Sequence, kvp.Value.Invert, kvp.Value.StartTimeMs!.Value, _timeSinceStartMs)) + if (!ProcessSequence(key.DeviceId, key.Channel, value.Sequence, value.Invert, value.StartTimeMs!.Value, _timeSinceStartMs)) { - sequencesToRemove.Add((kvp.Key.DeviceId, kvp.Key.Channel)); + sequencesToRemove.Add((key.DeviceId, key.Channel)); } }