diff --git a/src/Avalonia.Base/Threading/Dispatcher.Queue.cs b/src/Avalonia.Base/Threading/Dispatcher.Queue.cs index 0ce2479a45..eedfe12734 100644 --- a/src/Avalonia.Base/Threading/Dispatcher.Queue.cs +++ b/src/Avalonia.Base/Threading/Dispatcher.Queue.cs @@ -16,7 +16,10 @@ public partial class Dispatcher { _backgroundTimer = new DispatcherTimer(this, DispatcherPriority.Send, - TimeSpan.FromMilliseconds(1)); + TimeSpan.FromMilliseconds(1)) + { + Tag = "Dispatcher.RequestBackgroundProcessing" + }; _backgroundTimer.Tick += delegate { _backgroundTimer.Stop(); diff --git a/src/Avalonia.Base/Utilities/DispatcherTimerHelper.cs b/src/Avalonia.Base/Utilities/DispatcherTimerHelper.cs index 0c4a5f1051..a457388fb2 100644 --- a/src/Avalonia.Base/Utilities/DispatcherTimerHelper.cs +++ b/src/Avalonia.Base/Utilities/DispatcherTimerHelper.cs @@ -12,6 +12,7 @@ public static class DispatcherTimerUtils public static void ForceFire(this DispatcherTimer timer) { timer.Promote(); + timer.Dispatcher.RemoveTimer(timer); timer.Dispatcher.RunJobs(); } } \ No newline at end of file