diff --git a/src/Avalonia.Animation/Animator`1.cs b/src/Avalonia.Animation/Animator`1.cs index 888450e7f0..decca8e858 100644 --- a/src/Avalonia.Animation/Animator`1.cs +++ b/src/Avalonia.Animation/Animator`1.cs @@ -1,14 +1,12 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Reactive.Disposables; using System.Reactive.Linq; using Avalonia.Animation.Utils; using Avalonia.Collections; using Avalonia.Data; using Avalonia.Reactive; - namespace Avalonia.Animation { /// @@ -41,8 +39,7 @@ namespace Avalonia.Animation VerifyConvertKeyFrames(); return match.DistinctUntilChanged() - .ObserveOn(Avalonia.Threading.AvaloniaScheduler.Instance) - .Select(x => x ? RunKeyFrames(animation, control, onComplete) : Disposable.Empty) + .Select(x => x ? RunKeyFrames(animation, control, onComplete) : null) .DisposeCurrentOnNext() .Subscribe(); } @@ -172,4 +169,4 @@ namespace Avalonia.Animation } } } -} +} \ No newline at end of file diff --git a/src/Avalonia.Base/Reactive/DisposeOnNextObservable.cs b/src/Avalonia.Base/Reactive/DisposeOnNextObservable.cs index 8650fe5400..18af9e8752 100644 --- a/src/Avalonia.Base/Reactive/DisposeOnNextObservable.cs +++ b/src/Avalonia.Base/Reactive/DisposeOnNextObservable.cs @@ -9,9 +9,9 @@ namespace Avalonia.Reactive private void ValueNext(T value) { - this.PublishNext(value); lastValue?.Dispose(); lastValue = value; + this.PublishNext(value); } public void OnCompleted()