From 618f55acbc8593dddb7369abaf144458ca426e6b Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Mon, 22 Jul 2024 22:45:35 +0800 Subject: [PATCH] handle mirror null edge case --- .../View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs | 6 +++--- src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs index fdd8e874..66612b9a 100644 --- a/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Dialog/UpdatePackageDownloadConfirmDialog.xaml.cs @@ -15,13 +15,13 @@ internal sealed partial class UpdatePackageDownloadConfirmDialog : ContentDialog InitializeComponent(); } - public async ValueTask> GetSelectedMirrorAsync() + public async ValueTask> GetSelectedMirrorAsync() { if (await ShowAsync() is ContentDialogResult.Primary) { - return new(true, SelectedItem); + return new(true, SelectedItem ?? Mirrors?.FirstOrDefault()); } - return new(false, default!); + return new(false, default); } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs index ed49d379..416de7de 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/TitleViewModel.cs @@ -98,9 +98,9 @@ internal sealed partial class TitleViewModel : Abstraction.ViewModel dialog.Mirrors = checkUpdateResult.PackageInformation?.Mirrors; dialog.SelectedItem = dialog.Mirrors?.FirstOrDefault(); - (bool isOk, HutaoPackageMirror mirror) = await dialog.GetSelectedMirrorAsync().ConfigureAwait(false); + (bool isOk, HutaoPackageMirror? mirror) = await dialog.GetSelectedMirrorAsync().ConfigureAwait(false); - if (isOk) + if (isOk && mirror is not null) { ArgumentNullException.ThrowIfNull(checkUpdateResult.PackageInformation); HutaoSelectedMirrorInformation mirrorInformation = new()