diff --git a/osu.Game.Tests/Visual/Editing/TestSceneEditorQuickDelete.cs b/osu.Game.Tests/Visual/Editing/TestSceneEditorQuickDelete.cs
index 8a0f27b851..25e12b7a88 100644
--- a/osu.Game.Tests/Visual/Editing/TestSceneEditorQuickDelete.cs
+++ b/osu.Game.Tests/Visual/Editing/TestSceneEditorQuickDelete.cs
@@ -83,8 +83,9 @@ namespace osu.Game.Tests.Visual.Editing
AddStep("right click", () => InputManager.Click(MouseButton.Right));
AddAssert("slider has 2 points", () => slider.Path.ControlPoints.Count == 2);
- // second click should nuke the object completely.
AddStep("right click", () => InputManager.Click(MouseButton.Right));
+
+ // second click should nuke the object completely.
AddAssert("no hitobjects in beatmap", () => EditorBeatmap.HitObjects.Count == 0);
AddStep("release shift", () => InputManager.ReleaseKey(Key.ShiftLeft));
diff --git a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs b/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs
index 64cf0e7512..b5a28dc022 100644
--- a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs
@@ -135,7 +135,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
protected override bool OnMouseDown(MouseDownEvent e)
{
- bool selectionPerformed = beginClickSelection(e);
+ bool selectionPerformed = performMouseDownActions(e);
// even if a selection didn't occur, a drag event may still move the selection.
prepareSelectionMovement();
@@ -343,7 +343,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
///
/// The input event that triggered this selection.
/// Whether a selection was performed.
- private bool beginClickSelection(MouseButtonEvent e)
+ private bool performMouseDownActions(MouseButtonEvent e)
{
// Iterate from the top of the input stack (blueprints closest to the front of the screen first).
// Priority is given to already-selected blueprints.
@@ -351,7 +351,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
{
if (!blueprint.IsHovered) continue;
- return clickSelectionBegan = SelectionHandler.HandleSelectionRequested(blueprint, e);
+ return clickSelectionBegan = SelectionHandler.MouseDownSelectionRequested(blueprint, e);
}
return false;
@@ -375,7 +375,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
{
if (!blueprint.IsHovered) continue;
- return clickSelectionBegan = SelectionHandler.HandleDeselectionRequested(blueprint, e);
+ return clickSelectionBegan = SelectionHandler.MouseUpSelectionRequested(blueprint, e);
}
}
diff --git a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
index e5e1100797..389ef78ed5 100644
--- a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
+++ b/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
@@ -220,12 +220,12 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The blueprint.
/// The mouse event responsible for selection.
/// Whether a selection was performed.
- internal bool HandleSelectionRequested(SelectionBlueprint blueprint, MouseButtonEvent e)
+ internal bool MouseDownSelectionRequested(SelectionBlueprint blueprint, MouseButtonEvent e)
{
if (e.ShiftPressed && e.Button == MouseButton.Right)
{
handleQuickDeletion(blueprint);
- return false;
+ return true;
}
// while holding control, we only want to add to selection, not replace an existing selection.
@@ -244,7 +244,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
/// The blueprint.
/// The mouse event responsible for deselection.
/// Whether a deselection was performed.
- internal bool HandleDeselectionRequested(SelectionBlueprint blueprint, MouseButtonEvent e)
+ internal bool MouseUpSelectionRequested(SelectionBlueprint blueprint, MouseButtonEvent e)
{
if (blueprint.IsSelected)
{