diff --git a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
index f397ee1596..f95bf350b6 100644
--- a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
@@ -145,16 +145,13 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The blueprint.
internal void HandleSelected(SelectionBlueprint blueprint)
{
- if (!selectedBlueprints.Contains(blueprint))
- {
- selectedBlueprints.Add(blueprint);
+ selectedBlueprints.Add(blueprint);
- // need to check this as well, as there are potentially multiple SelectionHandlers and the above check is not enough.
- if (!EditorBeatmap.SelectedHitObjects.Contains(blueprint.HitObject))
- EditorBeatmap.SelectedHitObjects.Add(blueprint.HitObject);
+ // there are potentially multiple SelectionHandlers active, but we only want to add hitobjects to the selected list once.
+ if (!EditorBeatmap.SelectedHitObjects.Contains(blueprint.HitObject))
+ EditorBeatmap.SelectedHitObjects.Add(blueprint.HitObject);
- UpdateVisibility();
- }
+ UpdateVisibility();
}
///
@@ -163,12 +160,11 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The blueprint.
internal void HandleDeselected(SelectionBlueprint blueprint)
{
- if (selectedBlueprints.Remove(blueprint))
- {
- EditorBeatmap.SelectedHitObjects.Remove(blueprint.HitObject);
+ selectedBlueprints.Remove(blueprint);
- UpdateVisibility();
- }
+ EditorBeatmap.SelectedHitObjects.Remove(blueprint.HitObject);
+
+ UpdateVisibility();
}
///