Skip to content

Commit 6bd707a

Browse files
authored
Fix: Fixed an issue with deleting items from zip files (#15645)
1 parent 09a8eed commit 6bd707a

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/Files.App/Utils/Storage/Operations/FileOperationsHelpers.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
128128
{
129129
using var shi = new ShellItem(fileToDeletePath[i]);
130130
using var file = SafetyExtensions.IgnoreExceptions(() => GetFirstFile(shi)) ?? shi;
131-
if (file.Properties.GetProperty<uint>(PKEY_FilePlaceholderStatus) == PS_CLOUDFILE_PLACEHOLDER)
131+
if ((uint?)file.Properties.GetValueOrDefault(PKEY_FilePlaceholderStatus) == PS_CLOUDFILE_PLACEHOLDER)
132132
{
133133
// Online only files cannot be tried for deletion, so they are treated as to be permanently deleted.
134134
shellOperationResult.Items.Add(new ShellOperationItemResult()
@@ -276,7 +276,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
276276
if (!permanently && !e.Flags.HasFlag(ShellFileOperations.TransferFlags.DeleteRecycleIfPossible))
277277
throw new Win32Exception(HRESULT.COPYENGINE_E_RECYCLE_BIN_NOT_FOUND);
278278

279-
sizeCalculator.ForceComputeFileSize(e.SourceItem.FileSystemPath);
279+
sizeCalculator.ForceComputeFileSize(e.SourceItem.GetParsingPath());
280280
fsProgress.FileName = e.SourceItem.Name;
281281
fsProgress.Report();
282282
};
@@ -286,7 +286,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
286286
{
287287
if (!e.SourceItem.IsFolder)
288288
{
289-
if (sizeCalculator.TryGetComputedFileSize(e.SourceItem.FileSystemPath, out _))
289+
if (sizeCalculator.TryGetComputedFileSize(e.SourceItem.GetParsingPath(), out _))
290290
fsProgress.AddProcessedItemsCount(1);
291291
}
292292

@@ -472,7 +472,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
472472

473473
op.PreMoveItem += (s, e) =>
474474
{
475-
sizeCalculator.ForceComputeFileSize(e.SourceItem.FileSystemPath);
475+
sizeCalculator.ForceComputeFileSize(e.SourceItem.GetParsingPath());
476476
fsProgress.FileName = e.SourceItem.Name;
477477
fsProgress.Report();
478478
};
@@ -481,7 +481,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
481481
{
482482
if (!e.SourceItem.IsFolder)
483483
{
484-
if (sizeCalculator.TryGetComputedFileSize(e.SourceItem.FileSystemPath, out _))
484+
if (sizeCalculator.TryGetComputedFileSize(e.SourceItem.GetParsingPath(), out _))
485485
fsProgress.AddProcessedItemsCount(1);
486486
}
487487

@@ -603,7 +603,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
603603

604604
op.PreCopyItem += (s, e) =>
605605
{
606-
sizeCalculator.ForceComputeFileSize(e.SourceItem.FileSystemPath);
606+
sizeCalculator.ForceComputeFileSize(e.SourceItem.GetParsingPath());
607607
fsProgress.FileName = e.SourceItem.Name;
608608
fsProgress.Report();
609609
};
@@ -612,7 +612,7 @@ public static Task SetClipboard(string[] filesToCopy, DataPackageOperation opera
612612
{
613613
if (!e.SourceItem.IsFolder)
614614
{
615-
if (sizeCalculator.TryGetComputedFileSize(e.SourceItem.FileSystemPath, out _))
615+
if (sizeCalculator.TryGetComputedFileSize(e.SourceItem.GetParsingPath(), out _))
616616
fsProgress.AddProcessedItemsCount(1);
617617
}
618618

0 commit comments

Comments
 (0)