1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 12:33:01 +08:00

only propagate unmodified right click

This commit is contained in:
Jason Won 2021-10-26 16:24:53 -04:00
parent 4efa1f23bb
commit c633e2e952
2 changed files with 7 additions and 4 deletions

View File

@ -57,8 +57,8 @@ namespace osu.Game.Tests.Visual.Editing
moveMouseToObject(() => addedObject);
AddStep("right click", () => InputManager.Click(MouseButton.Right));
AddAssert("hitobject selected", () => EditorBeatmap.SelectedHitObjects.Single() == addedObject);
AddAssert("context menu is visible", () => contextMenuContainer.ChildrenOfType<OsuContextMenu>().Single().State == MenuState.Open);
AddUntilStep("hitobject selected", () => EditorBeatmap.SelectedHitObjects.Single() == addedObject);
AddUntilStep("context menu is visible", () => contextMenuContainer.ChildrenOfType<OsuContextMenu>().Single().State == MenuState.Open);
}
[Test]

View File

@ -113,8 +113,11 @@ namespace osu.Game.Screens.Edit.Compose.Components
// check if selection has occurred
if (selectionPerformed)
{
// propagate right click to show context menu on selection
return e.Button != MouseButton.Right;
// only unmodified right click should show context menu
var shouldShowContextMenu = e.Button == MouseButton.Right && !e.ShiftPressed && !e.AltPressed && !e.SuperPressed;
// stop propagation if not showing context menu
return !shouldShowContextMenu;
}
// even if a selection didn't occur, a drag event may still move the selection.