Merge pull request #456 from InkCanvasForClass/trae/solo-agent-hICuRf

Fix: 增强时光机功能处理笔划更改时的稳定性
This commit is contained in:
CJK_mkp
2026-04-26 16:45:22 +08:00
committed by GitHub
+24 -12
View File
@@ -134,23 +134,35 @@ namespace Ink_Canvas
{ {
if (item.StrokeHasBeenCleared) if (item.StrokeHasBeenCleared)
{ {
foreach (var strokes in item.CurrentStroke) if (item.CurrentStroke != null)
if (canvas.Strokes.Contains(strokes)) {
canvas.Strokes.Remove(strokes); foreach (var strokes in item.CurrentStroke)
if (canvas.Strokes.Contains(strokes))
canvas.Strokes.Remove(strokes);
}
foreach (var strokes in item.ReplacedStroke) if (item.ReplacedStroke != null)
if (!canvas.Strokes.Contains(strokes)) {
canvas.Strokes.Add(strokes); foreach (var strokes in item.ReplacedStroke)
if (!canvas.Strokes.Contains(strokes))
canvas.Strokes.Add(strokes);
}
} }
else else
{ {
foreach (var strokes in item.CurrentStroke) if (item.CurrentStroke != null)
if (!canvas.Strokes.Contains(strokes)) {
canvas.Strokes.Add(strokes); foreach (var strokes in item.CurrentStroke)
if (!canvas.Strokes.Contains(strokes))
canvas.Strokes.Add(strokes);
}
foreach (var strokes in item.ReplacedStroke) if (item.ReplacedStroke != null)
if (canvas.Strokes.Contains(strokes)) {
canvas.Strokes.Remove(strokes); foreach (var strokes in item.ReplacedStroke)
if (canvas.Strokes.Contains(strokes))
canvas.Strokes.Remove(strokes);
}
} }
} }
else if (item.CommitType == TimeMachineHistoryType.Manipulation) else if (item.CommitType == TimeMachineHistoryType.Manipulation)