diff --git a/osu.Game/Screens/OnlinePlay/Playlists/PlaylistsPlayer.cs b/osu.Game/Screens/OnlinePlay/Playlists/PlaylistsPlayer.cs
index cc1fb0b321..567ea6b988 100644
--- a/osu.Game/Screens/OnlinePlay/Playlists/PlaylistsPlayer.cs
+++ b/osu.Game/Screens/OnlinePlay/Playlists/PlaylistsPlayer.cs
@@ -4,6 +4,7 @@
using System;
using System.Diagnostics;
using System.Linq;
+using System.Threading.Tasks;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
using osu.Framework.Screens;
@@ -54,9 +55,9 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
return new PlaylistsResultsScreen(score, RoomId.Value.Value, PlaylistItem, true);
}
- protected override void PrepareScoreForResults(Score score)
+ protected override async Task PrepareScoreForResultsAsync(Score score)
{
- base.PrepareScoreForResults(score);
+ await base.PrepareScoreForResultsAsync(score).ConfigureAwait(false);
Score.ScoreInfo.TotalScore = (int)Math.Round(ScoreProcessor.GetStandardisedScore());
}
diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs
index 9fe12c58de..70cac9d27a 100644
--- a/osu.Game/Screens/Play/Player.cs
+++ b/osu.Game/Screens/Play/Player.cs
@@ -626,7 +626,7 @@ namespace osu.Game.Screens.Play
///
/// This delegate, when set, means the results screen has been queued to appear.
- /// The display of the results screen may be delayed by any work being done in and .
+ /// The display of the results screen may be delayed by any work being done in .
///
///
/// Once set, this can *only* be cancelled by rewinding, ie. if ScoreProcessor.HasCompleted becomes .
@@ -706,9 +706,6 @@ namespace osu.Game.Screens.Play
private async Task prepareScoreForResults()
{
- // ReSharper disable once MethodHasAsyncOverload
- PrepareScoreForResults(Score);
-
try
{
await PrepareScoreForResultsAsync(Score).ConfigureAwait(false);
@@ -1007,22 +1004,15 @@ namespace osu.Game.Screens.Play
///
/// Prepare the for display at results.
///
- ///
- /// This is run synchronously before is run.
- ///
/// The to prepare.
- protected virtual void PrepareScoreForResults(Score score)
+ /// A task that prepares the provided score. On completion, the score is assumed to be ready for display.
+ protected virtual Task PrepareScoreForResultsAsync(Score score)
{
// perform one final population to ensure everything is up-to-date.
ScoreProcessor.PopulateScore(score.ScoreInfo);
- }
- ///
- /// Prepare the for display at results.
- ///
- /// The to prepare.
- /// A task that prepares the provided score. On completion, the score is assumed to be ready for display.
- protected virtual Task PrepareScoreForResultsAsync(Score score) => Task.CompletedTask;
+ return Task.CompletedTask;
+ }
///
/// Creates the for a .