diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/MainListPage.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/MainListPage.cs index 41f7283535..b5e32b70a1 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/MainListPage.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI.ViewModels/Commands/MainListPage.cs @@ -365,9 +365,9 @@ public sealed partial class MainListPage : DynamicListPage, } // prefilter fallbacks - var globalFallbacks = _settingsService.Settings.GetGlobalFallbacks(); - var specialFallbacks = new List(globalFallbacks.Length); - var commonFallbacks = new List(commands.Count - globalFallbacks.Length); + var configuredGlobalFallbackIds = _settingsService.Settings.GetGlobalFallbacks(); + var specialFallbacks = new List(configuredGlobalFallbackIds.Length); + var commonFallbacks = new List(Math.Max(commands.Count - configuredGlobalFallbackIds.Length, 0)); foreach (var s in commands) { @@ -376,7 +376,7 @@ public sealed partial class MainListPage : DynamicListPage, continue; } - if (globalFallbacks.Contains(s.Id)) + if (configuredGlobalFallbackIds.Contains(s.Id)) { specialFallbacks.Add(s); } @@ -509,7 +509,7 @@ public sealed partial class MainListPage : DynamicListPage, return; } - IEnumerable newFallbacksForScoring = commands.Where(s => s.IsFallback && globalFallbacks.Contains(s.Id)); + IEnumerable newFallbacksForScoring = commands.Where(s => s.IsFallback && configuredGlobalFallbackIds.Contains(s.Id)); _scoredFallbackItems = InternalListHelpers.FilterListWithScores(newFallbacksForScoring, searchQuery, _scoringFunction); if (token.IsCancellationRequested)