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
@@ -133,26 +133,38 @@ namespace Ink_Canvas
else if (item.CommitType == TimeMachineHistoryType.ShapeRecognition) else if (item.CommitType == TimeMachineHistoryType.ShapeRecognition)
{ {
if (item.StrokeHasBeenCleared) if (item.StrokeHasBeenCleared)
{
if (item.CurrentStroke != null)
{ {
foreach (var strokes in item.CurrentStroke) foreach (var strokes in item.CurrentStroke)
if (canvas.Strokes.Contains(strokes)) if (canvas.Strokes.Contains(strokes))
canvas.Strokes.Remove(strokes); canvas.Strokes.Remove(strokes);
}
if (item.ReplacedStroke != null)
{
foreach (var strokes in item.ReplacedStroke) foreach (var strokes in item.ReplacedStroke)
if (!canvas.Strokes.Contains(strokes)) if (!canvas.Strokes.Contains(strokes))
canvas.Strokes.Add(strokes); canvas.Strokes.Add(strokes);
} }
}
else else
{
if (item.CurrentStroke != null)
{ {
foreach (var strokes in item.CurrentStroke) foreach (var strokes in item.CurrentStroke)
if (!canvas.Strokes.Contains(strokes)) if (!canvas.Strokes.Contains(strokes))
canvas.Strokes.Add(strokes); canvas.Strokes.Add(strokes);
}
if (item.ReplacedStroke != null)
{
foreach (var strokes in item.ReplacedStroke) foreach (var strokes in item.ReplacedStroke)
if (canvas.Strokes.Contains(strokes)) if (canvas.Strokes.Contains(strokes))
canvas.Strokes.Remove(strokes); canvas.Strokes.Remove(strokes);
} }
} }
}
else if (item.CommitType == TimeMachineHistoryType.Manipulation) else if (item.CommitType == TimeMachineHistoryType.Manipulation)
{ {
if (!item.StrokeHasBeenCleared) if (!item.StrokeHasBeenCleared)