diff --git a/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs b/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs index 85a3624f..708ab6e0 100644 --- a/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs +++ b/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs @@ -134,23 +134,35 @@ namespace Ink_Canvas { if (item.StrokeHasBeenCleared) { - foreach (var strokes in item.CurrentStroke) - if (canvas.Strokes.Contains(strokes)) - canvas.Strokes.Remove(strokes); + if (item.CurrentStroke != null) + { + foreach (var strokes in item.CurrentStroke) + if (canvas.Strokes.Contains(strokes)) + canvas.Strokes.Remove(strokes); + } - foreach (var strokes in item.ReplacedStroke) - if (!canvas.Strokes.Contains(strokes)) - canvas.Strokes.Add(strokes); + if (item.ReplacedStroke != null) + { + foreach (var strokes in item.ReplacedStroke) + if (!canvas.Strokes.Contains(strokes)) + canvas.Strokes.Add(strokes); + } } else { - foreach (var strokes in item.CurrentStroke) - if (!canvas.Strokes.Contains(strokes)) - canvas.Strokes.Add(strokes); + if (item.CurrentStroke != null) + { + foreach (var strokes in item.CurrentStroke) + if (!canvas.Strokes.Contains(strokes)) + canvas.Strokes.Add(strokes); + } - foreach (var strokes in item.ReplacedStroke) - if (canvas.Strokes.Contains(strokes)) - canvas.Strokes.Remove(strokes); + if (item.ReplacedStroke != null) + { + foreach (var strokes in item.ReplacedStroke) + if (canvas.Strokes.Contains(strokes)) + canvas.Strokes.Remove(strokes); + } } } else if (item.CommitType == TimeMachineHistoryType.Manipulation)