handle mirror null edge case

This commit is contained in:
DismissedLight
2024-07-22 22:45:35 +08:00
parent c761d8b7ad
commit 618f55acbc
2 changed files with 5 additions and 5 deletions

View File

@@ -15,13 +15,13 @@ internal sealed partial class UpdatePackageDownloadConfirmDialog : ContentDialog
InitializeComponent();
}
public async ValueTask<ValueResult<bool, HutaoPackageMirror>> GetSelectedMirrorAsync()
public async ValueTask<ValueResult<bool, HutaoPackageMirror?>> 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);
}
}

View File

@@ -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()