diff --git a/src/Avalonia.Base/Animation/Animation.cs b/src/Avalonia.Base/Animation/Animation.cs
index d62acc0d52..dd99c40cd3 100644
--- a/src/Avalonia.Base/Animation/Animation.cs
+++ b/src/Avalonia.Base/Animation/Animation.cs
@@ -200,7 +200,7 @@ namespace Avalonia.Animation
///
/// The animation setter.
/// The property animator value.
- public static void SetAnimator(IAnimationSetter setter,
+ public static void SetAnimator(IAnimationSetter setter,
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor | DynamicallyAccessedMemberTypes.PublicMethods)]
Type value)
{
@@ -319,7 +319,7 @@ namespace Avalonia.Animation
if (animators.Count == 1)
{
var subscription = animators[0].Apply(this, control, clock, match, onComplete);
-
+
if (subscription is not null)
{
subscriptions.Add(subscription);
@@ -348,9 +348,11 @@ namespace Avalonia.Animation
if (onComplete != null)
{
- Task.WhenAll(completionTasks!).ContinueWith(
- (_, state) => ((Action)state!).Invoke(),
- onComplete);
+ Task.WhenAll(completionTasks!)
+ .ContinueWith((_, state) => ((Action)state!).Invoke()
+ , onComplete
+ , TaskScheduler.FromCurrentSynchronizationContext()
+ );
}
}
return new CompositeDisposable(subscriptions);