Skip to content

Commit 54b42cb

Browse files
committed
Code Quality: Fixed regression with drag & drop
1 parent 5205c84 commit 54b42cb

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/Files.App/Views/Layouts/BaseLayoutPage.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1162,24 +1162,26 @@ private async void Item_DragOver(object sender, DragEventArgs e)
11621162
protected virtual async void Item_Drop(object sender, DragEventArgs e)
11631163
{
11641164
var deferral = e.GetDeferral();
1165+
e.Handled = true;
1166+
11651167
try
11661168
{
1167-
e.Handled = true;
11681169
_ = e.Data.Properties;
11691170
var exists = e.Data.Properties.TryGetValue("Files_ActionBinder", out var val);
11701171
_ = val;
1171-
1172-
// Reset dragged over item
1173-
dragOverItem = null;
1174-
1175-
var item = GetItemFromElement(sender);
1176-
if (item is not null)
1177-
await ParentShellPageInstance!.FilesystemHelpers.PerformOperationTypeAsync(e.AcceptedOperation, e.DataView, (item as IShortcutItem)?.TargetPath ?? item.ItemPath, false, true, item.IsExecutable, item.IsScriptFile);
11781172
}
1179-
finally
1173+
catch (NullReferenceException)
11801174
{
1181-
deferral.Complete();
1175+
// e.Data or e.Data.Properties is null, continue without the property check
11821176
}
1177+
1178+
// Reset dragged over item
1179+
dragOverItem = null;
1180+
var item = GetItemFromElement(sender);
1181+
if (item is not null)
1182+
await ParentShellPageInstance!.FilesystemHelpers.PerformOperationTypeAsync(e.AcceptedOperation, e.DataView, (item as IShortcutItem)?.TargetPath ?? item.ItemPath, false, true, item.IsExecutable, item.IsScriptFile);
1183+
1184+
deferral.Complete();
11831185
}
11841186

11851187
protected void FileList_ContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args)

0 commit comments

Comments
 (0)