diff --git a/src/Avalonia.Animation/Animator`1.cs b/src/Avalonia.Animation/Animator`1.cs index 8079ac69b5..e674ac84e1 100644 --- a/src/Avalonia.Animation/Animator`1.cs +++ b/src/Avalonia.Animation/Animator`1.cs @@ -86,10 +86,18 @@ namespace Avalonia.Animation double t0 = firstCue.Key; double t1 = lastCue.Key; - var intraframeTime = (t - t0) / (t1 - t0); - var firstFrameData = (firstCue.Value.frame.GetTypedValue(), firstCue.Value.isNeutral); - var lastFrameData = (lastCue.Value.frame.GetTypedValue(), lastCue.Value.isNeutral); - return (intraframeTime, new KeyFramePair(firstFrameData, lastFrameData)); + if (t0 != t1) + { + var intraframeTime = (t - t0) / (t1 - t0); + var firstFrameData = (firstCue.Value.frame.GetTypedValue(), firstCue.Value.isNeutral); + var lastFrameData = (lastCue.Value.frame.GetTypedValue(), lastCue.Value.isNeutral); + return (intraframeTime, new KeyFramePair(firstFrameData, lastFrameData)); + } + else + { + var frameData = (firstCue.Value.frame.GetTypedValue(), firstCue.Value.isNeutral); + return (0.0, new KeyFramePair(frameData, frameData)); + } }