diff --git a/osu.Game/Screens/Select/PlaySongSelect.cs b/osu.Game/Screens/Select/PlaySongSelect.cs index 841f8eda7f..c5c8543e6b 100644 --- a/osu.Game/Screens/Select/PlaySongSelect.cs +++ b/osu.Game/Screens/Select/PlaySongSelect.cs @@ -58,20 +58,21 @@ protected override void OnBeatmapChanged(WorkingBeatmap beatmap) { beatmap?.Mods.BindTo(modSelect.SelectedMods); + updateLeaderboard(beatmap); + + base.OnBeatmapChanged(beatmap); + } + + private void updateLeaderboard(WorkingBeatmap beatmap) + { leaderboard.Scores = null; getScoresRequest?.Cancel(); - if (beatmap != null) - { - getScoresRequest = new GetScoresRequest(beatmap.BeatmapInfo); - getScoresRequest.Success += res => - { - leaderboard.Scores = res.Scores; - }; - Game.API.Queue(getScoresRequest); - } + if (beatmap?.BeatmapInfo == null) return; - base.OnBeatmapChanged(beatmap); + getScoresRequest = new GetScoresRequest(beatmap.BeatmapInfo); + getScoresRequest.Success += r => leaderboard.Scores = r.Scores; + Game.API.Queue(getScoresRequest); } protected override void OnResuming(Screen last)