Fix WorkingBeatmap being loaded twice when using MusicController at SongSelect

This commit is contained in:
Dean Herbert
2017-07-20 14:05:42 +09:00
parent 8417e59de3
commit c130981184

View File

@ -220,12 +220,17 @@ namespace osu.Game.Screens.Select
private void carouselSelectionChanged(BeatmapInfo beatmap) private void carouselSelectionChanged(BeatmapInfo beatmap)
{ {
Action performLoad = delegate Action performLoad = delegate
{
// We may be arriving here due to another component changing the bindable Beatmap.
// In these cases, the other component has already loaded the beatmap, so we don't need to do so again.
if (!beatmap.Equals(Beatmap.Value.BeatmapInfo))
{ {
bool preview = beatmap?.BeatmapSetInfoID != Beatmap.Value.BeatmapInfo.BeatmapSetInfoID; bool preview = beatmap?.BeatmapSetInfoID != Beatmap.Value.BeatmapInfo.BeatmapSetInfoID;
Beatmap.Value = database.GetWorkingBeatmap(beatmap, Beatmap); Beatmap.Value = database.GetWorkingBeatmap(beatmap, Beatmap);
ensurePlayingSelected(preview); ensurePlayingSelected(preview);
}
changeBackground(Beatmap.Value); changeBackground(Beatmap.Value);
}; };