diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs b/osu.Game/Screens/Select/BeatmapCarousel.cs index 96069d8d18..b696d637e6 100644 --- a/osu.Game/Screens/Select/BeatmapCarousel.cs +++ b/osu.Game/Screens/Select/BeatmapCarousel.cs @@ -232,7 +232,11 @@ namespace osu.Game.Screens.Select public bool AllowSelection = true; - public bool PendingFilter => filterTask?.Completed == false; + public void FlushPendingFilters() + { + if (filterTask?.Completed == false) + Filter(null, false); + } public void Filter(FilterCriteria newCriteria = null, bool debounce = true) { diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs index 59bbb3b3e9..2b2ba83043 100644 --- a/osu.Game/Screens/Select/SongSelect.cs +++ b/osu.Game/Screens/Select/SongSelect.cs @@ -198,10 +198,9 @@ namespace osu.Game.Screens.Select private void carouselRaisedStart() { - if (carousel.PendingFilter) - // if we have a pending filter operation, we want to run it now. - // it could change selection (ie. if the ruleset has been changed). - carousel.Filter(null, false); + // if we have a pending filter operation, we want to run it now. + // it could change selection (ie. if the ruleset has been changed). + carousel.FlushPendingFilters(); if (selectionChangedDebounce?.Completed == false) {