From b87fa13279089e1160734b51666e41fdc34f37d9 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 31 Jul 2025 22:23:08 +0900 Subject: [PATCH] Fix beatmap carousel refreshing when user selects "Manage Collections" from dropdown Closes https://github.com/ppy/osu/issues/34434. --- osu.Game/Screens/SelectV2/FilterControl.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/SelectV2/FilterControl.cs b/osu.Game/Screens/SelectV2/FilterControl.cs index 6dd99572f8..7bc4e2105b 100644 --- a/osu.Game/Screens/SelectV2/FilterControl.cs +++ b/osu.Game/Screens/SelectV2/FilterControl.cs @@ -12,6 +12,7 @@ using osu.Framework.Graphics.Containers; using osu.Framework.Input; using osu.Framework.Input.Events; using osu.Framework.Localisation; +using osu.Game.Collections; using osu.Game.Configuration; using osu.Game.Graphics.Containers; using osu.Game.Graphics.UserInterface; @@ -208,7 +209,16 @@ namespace osu.Game.Screens.SelectV2 showConvertedBeatmapsButton.Active.BindValueChanged(_ => updateCriteria()); sortDropdown.Current.BindValueChanged(_ => updateCriteria()); groupDropdown.Current.BindValueChanged(_ => updateCriteria()); - collectionDropdown.Current.BindValueChanged(_ => updateCriteria()); + collectionDropdown.Current.BindValueChanged(v => + { + // The hope would be that this never arrives here, but due to bindings receiving changes before + // local ValueChanged events, that's not the case (see https://github.com/ppy/osu-framework/pull/1545). + if (v.NewValue is ManageCollectionsFilterMenuItem || v.OldValue is ManageCollectionsFilterMenuItem) + return; + + updateCriteria(); + }); + updateCriteria(); }