From 2aec84884b1a34ae8eb0bacad587d1a1f09dc9f9 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 25 May 2026 19:10:19 +0300 Subject: [PATCH] Extract app shutdown fallback into `App.Shutdown` (#1539) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> --- DiscordChatExporter.Gui/App.axaml.cs | 12 +++++++++++- DiscordChatExporter.Gui/ViewModels/MainViewModel.cs | 5 +---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/DiscordChatExporter.Gui/App.axaml.cs b/DiscordChatExporter.Gui/App.axaml.cs index 92640636..37179c5c 100644 --- a/DiscordChatExporter.Gui/App.axaml.cs +++ b/DiscordChatExporter.Gui/App.axaml.cs @@ -7,6 +7,7 @@ using Avalonia.Platform; using DiscordChatExporter.Gui.Framework; using DiscordChatExporter.Gui.Localization; using DiscordChatExporter.Gui.Services; +using DiscordChatExporter.Gui.Utils.Extensions; using DiscordChatExporter.Gui.ViewModels; using DiscordChatExporter.Gui.ViewModels.Components; using DiscordChatExporter.Gui.ViewModels.Dialogs; @@ -17,7 +18,7 @@ using PowerKit.Extensions; namespace DiscordChatExporter.Gui; -public class App : Application, IDisposable +public partial class App : Application, IDisposable { private readonly ServiceProvider _services; private readonly SettingsService _settingsService; @@ -135,3 +136,12 @@ public class App : Application, IDisposable _services.Dispose(); } } + +public partial class App +{ + public static void Shutdown(int exitCode = 0) + { + if (Current?.ApplicationLifetime?.TryShutdown(exitCode) != true) + Environment.Exit(exitCode); + } +} diff --git a/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs b/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs index 0c0cd32f..dcf3df99 100644 --- a/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/MainViewModel.cs @@ -1,7 +1,5 @@ -using System; using System.Diagnostics; using System.Threading.Tasks; -using Avalonia; using DiscordChatExporter.Gui.Framework; using DiscordChatExporter.Gui.Localization; using DiscordChatExporter.Gui.Services; @@ -88,8 +86,7 @@ public partial class MainViewModel( { updateService.FinalizeUpdate(true); - if (Application.Current?.ApplicationLifetime?.TryShutdown(2) != true) - Environment.Exit(2); + App.Shutdown(2); } ); }