mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-15 11:17:53 +01:00
[Run] Fix for IndexOutOfBounds exception (#6981)
* Fix index out of bounds exception * Race condition in query telemetry
This commit is contained in:
committed by
GitHub
parent
5d095efe90
commit
ea0de4f831
@@ -500,6 +500,9 @@ namespace PowerLauncher.ViewModel
|
||||
{
|
||||
Thread.Sleep(20);
|
||||
|
||||
// Keep track of total number of results for telemetry
|
||||
var numResults = 0;
|
||||
|
||||
// Contains all the plugins for which this raw query is valid
|
||||
var plugins = pluginQueryPairs.Keys.ToList();
|
||||
|
||||
@@ -535,6 +538,7 @@ namespace PowerLauncher.ViewModel
|
||||
}
|
||||
|
||||
currentCancellationToken.ThrowIfCancellationRequested();
|
||||
numResults = Results.Results.Count;
|
||||
Results.Sort();
|
||||
Results.SelectedItem = Results.Results.FirstOrDefault();
|
||||
}
|
||||
@@ -573,6 +577,7 @@ namespace PowerLauncher.ViewModel
|
||||
UpdateResultView(results, queryText, currentCancellationToken);
|
||||
|
||||
currentCancellationToken.ThrowIfCancellationRequested();
|
||||
numResults = Results.Results.Count;
|
||||
Results.Sort();
|
||||
Results.SelectedItem = Results.Results.FirstOrDefault();
|
||||
}
|
||||
@@ -598,7 +603,7 @@ namespace PowerLauncher.ViewModel
|
||||
var queryEvent = new LauncherQueryEvent()
|
||||
{
|
||||
QueryTimeMs = queryTimer.ElapsedMilliseconds,
|
||||
NumResults = Results.Results.Count,
|
||||
NumResults = numResults,
|
||||
QueryLength = queryText.Length,
|
||||
};
|
||||
PowerToysTelemetry.Log.WriteEvent(queryEvent);
|
||||
@@ -611,7 +616,13 @@ namespace PowerLauncher.ViewModel
|
||||
_currentQuery = _emptyQuery;
|
||||
Results.SelectedItem = null;
|
||||
Results.Visibility = Visibility.Hidden;
|
||||
Results.Clear();
|
||||
Task.Run(() =>
|
||||
{
|
||||
lock (_addResultsLock)
|
||||
{
|
||||
Results.Clear();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user