Browse Source

InvokeShutdown

pull/10792/head
Nikita Tsukanov 4 years ago
parent
commit
7d63f5f546
  1. 6
      src/Avalonia.Base/Threading/Dispatcher.MainLoop.cs
  2. 2
      src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs

6
src/Avalonia.Base/Threading/Dispatcher.MainLoop.cs

@ -97,6 +97,12 @@ public partial class Dispatcher
/// </summary>
public void BeginInvokeShutdown(DispatcherPriority priority) => Post(StartShutdownImpl, priority);
/// <summary>
/// Initiates the shutdown process of the Dispatcher synchronously.
/// </summary>
public void InvokeShutdown() => Invoke(StartShutdownImpl, DispatcherPriority.Send);
private void StartShutdownImpl()
{
if (!_startingShutdown)

2
src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs

@ -184,7 +184,7 @@ namespace Avalonia.Controls.ApplicationLifetimes
_cts?.Cancel();
_cts = null;
_isShuttingDown = false;
Dispatcher.UIThread.BeginInvokeShutdown(DispatcherPriority.Send);
Dispatcher.UIThread.InvokeShutdown();
}
return true;

Loading…
Cancel
Save