diff --git a/osu.Game/Scoring/ScorePerformanceManager.cs b/osu.Game/Scoring/ScorePerformanceManager.cs
index 0a57ccbd1f..a27e38fb07 100644
--- a/osu.Game/Scoring/ScorePerformanceManager.cs
+++ b/osu.Game/Scoring/ScorePerformanceManager.cs
@@ -27,9 +27,6 @@ namespace osu.Game.Scoring
/// An optional to cancel the operation.
public async Task CalculatePerformanceAsync([NotNull] ScoreInfo score, CancellationToken token = default)
{
- if (score.PP.HasValue)
- return score.PP.Value;
-
if (tryGetExisting(score, out var perf, out var lookupKey))
return perf;
diff --git a/osu.Game/Screens/Ranking/Expanded/Statistics/CounterStatistic.cs b/osu.Game/Screens/Ranking/Expanded/Statistics/CounterStatistic.cs
index 1f8deb4d59..368075b13b 100644
--- a/osu.Game/Screens/Ranking/Expanded/Statistics/CounterStatistic.cs
+++ b/osu.Game/Screens/Ranking/Expanded/Statistics/CounterStatistic.cs
@@ -17,7 +17,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Statistics
{
private readonly int count;
- protected RollingCounter Counter;
+ protected RollingCounter Counter { get; private set; }
///
/// Creates a new .
diff --git a/osu.Game/Screens/Ranking/Expanded/Statistics/PerformanceStatistic.cs b/osu.Game/Screens/Ranking/Expanded/Statistics/PerformanceStatistic.cs
index 6c2ad5844b..7e342a33f1 100644
--- a/osu.Game/Screens/Ranking/Expanded/Statistics/PerformanceStatistic.cs
+++ b/osu.Game/Screens/Ranking/Expanded/Statistics/PerformanceStatistic.cs
@@ -25,8 +25,15 @@ namespace osu.Game.Screens.Ranking.Expanded.Statistics
[BackgroundDependencyLoader]
private void load(ScorePerformanceManager performanceManager)
{
- performanceManager.CalculatePerformanceAsync(score, cancellationTokenSource.Token)
- .ContinueWith(t => Schedule(() => performance.Value = (int)t.Result), cancellationTokenSource.Token);
+ if (score.PP.HasValue)
+ {
+ performance.Value = (int)score.PP.Value;
+ }
+ else
+ {
+ performanceManager.CalculatePerformanceAsync(score, cancellationTokenSource.Token)
+ .ContinueWith(t => Schedule(() => performance.Value = (int)t.Result), cancellationTokenSource.Token);
+ }
}
public override void Appear()
@@ -37,7 +44,7 @@ namespace osu.Game.Screens.Ranking.Expanded.Statistics
protected override void Dispose(bool isDisposing)
{
- cancellationTokenSource.Cancel();
+ cancellationTokenSource?.Cancel();
base.Dispose(isDisposing);
}
}