mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 23:42:55 +08:00
Fix incorrect CancellationToken
being used for inner check during leaderboard updates
This commit is contained in:
parent
96dddc8a0b
commit
2dd721f760
@ -116,6 +116,8 @@ namespace osu.Game.Screens.Select.Leaderboards
|
|||||||
loadCancellationSource?.Cancel();
|
loadCancellationSource?.Cancel();
|
||||||
loadCancellationSource = new CancellationTokenSource();
|
loadCancellationSource = new CancellationTokenSource();
|
||||||
|
|
||||||
|
var cancellationToken = loadCancellationSource.Token;
|
||||||
|
|
||||||
if (BeatmapInfo == null)
|
if (BeatmapInfo == null)
|
||||||
{
|
{
|
||||||
PlaceholderState = PlaceholderState.NoneSelected;
|
PlaceholderState = PlaceholderState.NoneSelected;
|
||||||
@ -140,7 +142,7 @@ namespace osu.Game.Screens.Select.Leaderboards
|
|||||||
scores = scores.Where(s => s.Mods.Any(m => selectedMods.Contains(m.Acronym)));
|
scores = scores.Where(s => s.Mods.Any(m => selectedMods.Contains(m.Acronym)));
|
||||||
}
|
}
|
||||||
|
|
||||||
scoreManager.OrderByTotalScoreAsync(scores.ToArray(), loadCancellationSource.Token)
|
scoreManager.OrderByTotalScoreAsync(scores.ToArray(), cancellationToken)
|
||||||
.ContinueWith(ordered => scoresCallback?.Invoke(ordered.Result), TaskContinuationOptions.OnlyOnRanToCompletion);
|
.ContinueWith(ordered => scoresCallback?.Invoke(ordered.Result), TaskContinuationOptions.OnlyOnRanToCompletion);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -176,10 +178,10 @@ namespace osu.Game.Screens.Select.Leaderboards
|
|||||||
|
|
||||||
req.Success += r =>
|
req.Success += r =>
|
||||||
{
|
{
|
||||||
scoreManager.OrderByTotalScoreAsync(r.Scores.Select(s => s.CreateScoreInfo(rulesets, BeatmapInfo)).ToArray(), loadCancellationSource.Token)
|
scoreManager.OrderByTotalScoreAsync(r.Scores.Select(s => s.CreateScoreInfo(rulesets, BeatmapInfo)).ToArray(), cancellationToken)
|
||||||
.ContinueWith(ordered => Schedule(() =>
|
.ContinueWith(ordered => Schedule(() =>
|
||||||
{
|
{
|
||||||
if (loadCancellationSource.IsCancellationRequested)
|
if (cancellationToken.IsCancellationRequested)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
scoresCallback?.Invoke(ordered.Result);
|
scoresCallback?.Invoke(ordered.Result);
|
||||||
|
Loading…
Reference in New Issue
Block a user