Skip to content

Commit d4ec2a0

Browse files
yaira2hishitetsu
andauthored
Fix: Fixed some null ref warnings in decompress helper (#14086)
Co-authored-by: hishitetsu <[email protected]>
1 parent e1be096 commit d4ec2a0

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

src/Files.App/Actions/Content/Archives/Decompress/DecompressArchive.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ public DecompressArchive()
2323

2424
public override Task ExecuteAsync()
2525
{
26+
if (context.ShellPage is null)
27+
return Task.CompletedTask;
28+
2629
return DecompressHelper.DecompressArchiveAsync(context.ShellPage);
2730
}
2831

src/Files.App/Utils/Archives/DecompressHelper.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ public static async Task DecompressArchiveAsync(IShellPage associatedInstance)
128128
if (associatedInstance == null)
129129
return;
130130

131-
BaseStorageFile archive = await StorageHelpers.ToStorageItem<BaseStorageFile>(associatedInstance.SlimContentPage.SelectedItems.Count != 0
132-
? associatedInstance.SlimContentPage.SelectedItem.ItemPath
133-
: associatedInstance.FilesystemViewModel.WorkingDirectory);
131+
BaseStorageFile archive = await StorageHelpers.ToStorageItem<BaseStorageFile>(associatedInstance.SlimContentPage?.SelectedItems?.Count is null or 0
132+
? associatedInstance.FilesystemViewModel.WorkingDirectory
133+
: associatedInstance.SlimContentPage.SelectedItem.ItemPath);
134134

135-
if (archive is null)
135+
if (archive?.Path is null)
136136
return;
137137

138138
var isArchiveEncrypted = await FilesystemTasks.Wrap(() => DecompressHelper.IsArchiveEncrypted(archive));
@@ -177,7 +177,7 @@ public static async Task DecompressArchiveAsync(IShellPage associatedInstance)
177177

178178
public static async Task DecompressArchiveHereAsync(IShellPage associatedInstance)
179179
{
180-
if (associatedInstance?.SlimContentPage == null)
180+
if (associatedInstance?.SlimContentPage?.SelectedItems == null)
181181
return;
182182

183183
foreach (var selectedItem in associatedInstance.SlimContentPage.SelectedItems)
@@ -186,7 +186,7 @@ public static async Task DecompressArchiveHereAsync(IShellPage associatedInstanc
186186
BaseStorageFile archive = await StorageHelpers.ToStorageItem<BaseStorageFile>(selectedItem.ItemPath);
187187
BaseStorageFolder currentFolder = await StorageHelpers.ToStorageItem<BaseStorageFolder>(associatedInstance.FilesystemViewModel.CurrentFolder.ItemPath);
188188

189-
if (archive is null)
189+
if (archive?.Path is null)
190190
return;
191191

192192
if (await FilesystemTasks.Wrap(() => IsArchiveEncrypted(archive)))
@@ -216,7 +216,7 @@ public static async Task DecompressArchiveHereAsync(IShellPage associatedInstanc
216216

217217
public static async Task DecompressArchiveToChildFolderAsync(IShellPage associatedInstance)
218218
{
219-
if (associatedInstance?.SlimContentPage == null)
219+
if (associatedInstance?.SlimContentPage?.SelectedItems == null)
220220
return;
221221

222222
foreach (var selectedItem in associatedInstance.SlimContentPage.SelectedItems)
@@ -227,7 +227,7 @@ public static async Task DecompressArchiveToChildFolderAsync(IShellPage associat
227227
BaseStorageFolder currentFolder = await StorageHelpers.ToStorageItem<BaseStorageFolder>(associatedInstance.FilesystemViewModel.CurrentFolder.ItemPath);
228228
BaseStorageFolder destinationFolder = null;
229229

230-
if (archive is null)
230+
if (archive?.Path is null)
231231
return;
232232

233233
if (await FilesystemTasks.Wrap(() => DecompressHelper.IsArchiveEncrypted(archive)))

0 commit comments

Comments
 (0)