CmdPal: add locking TopLevelCommandManager.DockBands (#45898)

## Summary of the Pull Request

- Put enumeration of DockBands in
TopLevelCommandManager.ExtensionService_OnExtensionRemoved under correct
lock
- Return a snapshot of the dock bands list to prevent reading DockBands
without lock outside of TopLevelCommandManager

## PR Checklist

- [x] Closes: #45893
This commit is contained in:
Jiří Polášek
2026-03-09 12:48:58 +01:00
committed by GitHub
parent 0aca7c292c
commit f8453214fb
3 changed files with 16 additions and 5 deletions

View File

@@ -178,7 +178,7 @@ public sealed partial class DockSettingsPage : Page
var tlcManager = App.Current.Services.GetService<TopLevelCommandManager>()!;
foreach (var item in tlcManager.DockBands)
foreach (var item in tlcManager.GetDockBandsSnapshot())
{
if (item.IsDockBand)
{
@@ -197,7 +197,7 @@ public sealed partial class DockSettingsPage : Page
var tlcManager = App.Current.Services.GetService<TopLevelCommandManager>()!;
var settingsModel = App.Current.Services.GetService<SettingsModel>()!;
var dockViewModel = App.Current.Services.GetService<DockViewModel>()!;
var allBands = tlcManager.DockBands;
var allBands = tlcManager.GetDockBandsSnapshot();
foreach (var band in allBands)
{
var setting = band.DockBandSettings;