Skip to content

Commit 2094466

Browse files
authored
Code Quality: Fixed an issue where CollectionChanged events were not unsubscribed correctly (#15957)
1 parent 7c81536 commit 2094466

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/Files.App/ViewModels/UserControls/SidebarViewModel.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,9 +247,9 @@ public SidebarViewModel()
247247

248248
App.QuickAccessManager.Model.DataChanged += Manager_DataChanged;
249249
App.LibraryManager.DataChanged += Manager_DataChanged;
250-
drivesViewModel.Drives.CollectionChanged += (x, args) => Manager_DataChanged(SectionType.Drives, args);
250+
drivesViewModel.Drives.CollectionChanged += Manager_DataChangedForDrives;
251251
CloudDrivesManager.DataChanged += Manager_DataChanged;
252-
NetworkService.Computers.CollectionChanged += (x, args) => Manager_DataChanged(SectionType.Network, args);
252+
NetworkService.Computers.CollectionChanged += Manager_DataChangedForNetworkComputers;
253253
WSLDistroManager.DataChanged += Manager_DataChanged;
254254
App.FileTagsManager.DataChanged += Manager_DataChanged;
255255
SidebarDisplayMode = UserSettingsService.AppearanceSettingsService.IsSidebarOpen ? SidebarDisplayMode.Expanded : SidebarDisplayMode.Compact;
@@ -292,6 +292,10 @@ await dispatcherQueue.EnqueueOrInvokeAsync(async () =>
292292
});
293293
}
294294

295+
private void Manager_DataChangedForDrives(object? sender, NotifyCollectionChangedEventArgs e) => Manager_DataChanged(SectionType.Drives, e);
296+
297+
private void Manager_DataChangedForNetworkComputers(object? sender, NotifyCollectionChangedEventArgs e) => Manager_DataChanged(SectionType.Network, e);
298+
295299
private async Task SyncSidebarItemsAsync(LocationItem section, Func<IReadOnlyList<INavigationControlItem>> getElements, NotifyCollectionChangedEventArgs e)
296300
{
297301
if (section is null)
@@ -671,9 +675,9 @@ public void Dispose()
671675

672676
App.QuickAccessManager.Model.DataChanged -= Manager_DataChanged;
673677
App.LibraryManager.DataChanged -= Manager_DataChanged;
674-
drivesViewModel.Drives.CollectionChanged -= (x, args) => Manager_DataChanged(SectionType.Drives, args);
678+
drivesViewModel.Drives.CollectionChanged -= Manager_DataChangedForDrives;
675679
CloudDrivesManager.DataChanged -= Manager_DataChanged;
676-
NetworkService.Computers.CollectionChanged -= (x, args) => Manager_DataChanged(SectionType.Network, args);
680+
NetworkService.Computers.CollectionChanged -= Manager_DataChangedForNetworkComputers;
677681
WSLDistroManager.DataChanged -= Manager_DataChanged;
678682
App.FileTagsManager.DataChanged -= Manager_DataChanged;
679683
}

0 commit comments

Comments
 (0)