From 84cb4da1ecc278e8708dba59da2ad6c6bc5dd0e0 Mon Sep 17 00:00:00 2001 From: Salman Alshamrani Date: Wed, 30 Apr 2025 11:08:30 +0300 Subject: [PATCH] Limit input inside slider bar pieces instead --- osu.Game/Graphics/UserInterface/ShearedRangeSlider.cs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/osu.Game/Graphics/UserInterface/ShearedRangeSlider.cs b/osu.Game/Graphics/UserInterface/ShearedRangeSlider.cs index 45c8063f4c..7b90f35c56 100644 --- a/osu.Game/Graphics/UserInterface/ShearedRangeSlider.cs +++ b/osu.Game/Graphics/UserInterface/ShearedRangeSlider.cs @@ -92,10 +92,6 @@ namespace osu.Game.Graphics.UserInterface this.label = label; } - // Special case: we want to limit input to the bounds of this control but not enable masking (which would break with shear). - protected override bool ReceivePositionalInputAtSubTree(Vector2 screenSpacePos) - => ReceivePositionalInputAt(screenSpacePos); - [BackgroundDependencyLoader] private void load(OverlayColourProvider colourProvider) { @@ -254,9 +250,9 @@ namespace osu.Game.Graphics.UserInterface public override bool ReceivePositionalInputAt(Vector2 screenSpacePos) { if (isUpper) - return screenSpacePos.X > rangeSlider.ScreenSpaceHalfwayPoint.X; + return base.ReceivePositionalInputAt(screenSpacePos) && screenSpacePos.X > rangeSlider.ScreenSpaceHalfwayPoint.X; - return screenSpacePos.X <= rangeSlider.ScreenSpaceHalfwayPoint.X; + return base.ReceivePositionalInputAt(screenSpacePos) && screenSpacePos.X <= rangeSlider.ScreenSpaceHalfwayPoint.X; } protected override void UpdateAfterChildren()