Skip to content

Commit 31721fe

Browse files
authored
Fix: Fixed issue where the wrong recent item was being removed (#10847)
1 parent 835ba6e commit 31721fe

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,10 @@ private async Task UpdateRecentsList(NotifyCollectionChangedEventArgs e)
112112
for (; idx < recentFiles.Count; idx++) // Add new items (top of the list)
113113
{
114114
if (idx >= recentItemsCollection.Count || !recentFiles[idx].Equals(recentItemsCollection[idx]))
115-
await AddItemToRecentListAsync(recentFiles[idx], idx);
115+
{
116+
if (!AddItemToRecentList(recentFiles[idx], idx)) // Not a new item
117+
break;
118+
}
116119
else
117120
break;
118121
}
@@ -147,13 +150,16 @@ private async Task UpdateRecentsList(NotifyCollectionChangedEventArgs e)
147150
/// Add the RecentItem to the ObservableCollection for the UI to render.
148151
/// </summary>
149152
/// <param name="recentItem">The recent item to be added</param>
150-
private async Task AddItemToRecentListAsync(RecentItem recentItem, int index = -1)
153+
private bool AddItemToRecentList(RecentItem recentItem, int index = -1)
151154
{
152155
if (!recentItemsCollection.Any(x => x.Equals(recentItem)))
153156
{
154157
recentItemsCollection.Insert(index < 0 ? recentItemsCollection.Count : Math.Min(index, recentItemsCollection.Count), recentItem);
155-
await recentItem.LoadRecentItemIcon();
158+
_ = recentItem.LoadRecentItemIcon()
159+
.ContinueWith(t => App.Logger.Warn(t.Exception), TaskContinuationOptions.OnlyOnFaulted);
160+
return true;
156161
}
162+
return false;
157163
}
158164

159165
private void RecentsView_ItemClick(object sender, ItemClickEventArgs e)

0 commit comments

Comments
 (0)