mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +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);
|
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
|
// Contains all the plugins for which this raw query is valid
|
||||||
var plugins = pluginQueryPairs.Keys.ToList();
|
var plugins = pluginQueryPairs.Keys.ToList();
|
||||||
|
|
||||||
@@ -535,6 +538,7 @@ namespace PowerLauncher.ViewModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
currentCancellationToken.ThrowIfCancellationRequested();
|
currentCancellationToken.ThrowIfCancellationRequested();
|
||||||
|
numResults = Results.Results.Count;
|
||||||
Results.Sort();
|
Results.Sort();
|
||||||
Results.SelectedItem = Results.Results.FirstOrDefault();
|
Results.SelectedItem = Results.Results.FirstOrDefault();
|
||||||
}
|
}
|
||||||
@@ -573,6 +577,7 @@ namespace PowerLauncher.ViewModel
|
|||||||
UpdateResultView(results, queryText, currentCancellationToken);
|
UpdateResultView(results, queryText, currentCancellationToken);
|
||||||
|
|
||||||
currentCancellationToken.ThrowIfCancellationRequested();
|
currentCancellationToken.ThrowIfCancellationRequested();
|
||||||
|
numResults = Results.Results.Count;
|
||||||
Results.Sort();
|
Results.Sort();
|
||||||
Results.SelectedItem = Results.Results.FirstOrDefault();
|
Results.SelectedItem = Results.Results.FirstOrDefault();
|
||||||
}
|
}
|
||||||
@@ -598,7 +603,7 @@ namespace PowerLauncher.ViewModel
|
|||||||
var queryEvent = new LauncherQueryEvent()
|
var queryEvent = new LauncherQueryEvent()
|
||||||
{
|
{
|
||||||
QueryTimeMs = queryTimer.ElapsedMilliseconds,
|
QueryTimeMs = queryTimer.ElapsedMilliseconds,
|
||||||
NumResults = Results.Results.Count,
|
NumResults = numResults,
|
||||||
QueryLength = queryText.Length,
|
QueryLength = queryText.Length,
|
||||||
};
|
};
|
||||||
PowerToysTelemetry.Log.WriteEvent(queryEvent);
|
PowerToysTelemetry.Log.WriteEvent(queryEvent);
|
||||||
@@ -611,7 +616,13 @@ namespace PowerLauncher.ViewModel
|
|||||||
_currentQuery = _emptyQuery;
|
_currentQuery = _emptyQuery;
|
||||||
Results.SelectedItem = null;
|
Results.SelectedItem = null;
|
||||||
Results.Visibility = Visibility.Hidden;
|
Results.Visibility = Visibility.Hidden;
|
||||||
Results.Clear();
|
Task.Run(() =>
|
||||||
|
{
|
||||||
|
lock (_addResultsLock)
|
||||||
|
{
|
||||||
|
Results.Clear();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user