diff --git a/osu.Game/Graphics/Carousel/Carousel.cs b/osu.Game/Graphics/Carousel/Carousel.cs
index 414aba1a2e..7b5aea08b6 100644
--- a/osu.Game/Graphics/Carousel/Carousel.cs
+++ b/osu.Game/Graphics/Carousel/Carousel.cs
@@ -71,6 +71,11 @@ namespace osu.Game.Graphics.Carousel
///
public bool IsFiltering => !filterTask.IsCompleted;
+ ///
+ /// Whether absolute scrolling is currently triggered.
+ ///
+ public bool AbsoluteScrolling => Scroll.AbsoluteScrolling;
+
///
/// The number of times filter operations have been triggered.
///
diff --git a/osu.Game/Graphics/Carousel/Carousel_ScrollContainer.cs b/osu.Game/Graphics/Carousel/Carousel_ScrollContainer.cs
index 1027e7e1f2..accd74aa4b 100644
--- a/osu.Game/Graphics/Carousel/Carousel_ScrollContainer.cs
+++ b/osu.Game/Graphics/Carousel/Carousel_ScrollContainer.cs
@@ -120,9 +120,12 @@ namespace osu.Game.Graphics.Carousel
#region Absolute scrolling
- private bool absoluteScrolling;
+ ///
+ /// Whether absolute scrolling is currently triggered.
+ ///
+ public bool AbsoluteScrolling { get; private set; }
- protected override bool IsDragging => base.IsDragging || absoluteScrolling;
+ protected override bool IsDragging => base.IsDragging || AbsoluteScrolling;
public bool OnPressed(KeyBindingPressEvent e)
{
@@ -169,7 +172,7 @@ namespace osu.Game.Graphics.Carousel
protected override bool OnMouseMove(MouseMoveEvent e)
{
- if (absoluteScrolling)
+ if (AbsoluteScrolling)
{
ScrollToAbsolutePosition(e.CurrentState.Mouse.Position);
return true;
@@ -181,10 +184,10 @@ namespace osu.Game.Graphics.Carousel
private void beginAbsoluteScrolling(UIEvent e)
{
ScrollToAbsolutePosition(e.CurrentState.Mouse.Position);
- absoluteScrolling = true;
+ AbsoluteScrolling = true;
}
- private void endAbsoluteScrolling() => absoluteScrolling = false;
+ private void endAbsoluteScrolling() => AbsoluteScrolling = false;
#endregion
diff --git a/osu.Game/Screens/SelectV2/SongSelect.cs b/osu.Game/Screens/SelectV2/SongSelect.cs
index 26e835cdfd..0e3b6b3a61 100644
--- a/osu.Game/Screens/SelectV2/SongSelect.cs
+++ b/osu.Game/Screens/SelectV2/SongSelect.cs
@@ -849,7 +849,7 @@ namespace osu.Game.Screens.SelectV2
// For simplicity, disable this functionality on mobile.
bool isTouchInput = e.CurrentState.Mouse.LastSource is ISourcedFromTouch;
- if (e.PressedButtons.SequenceEqual([MouseButton.Left]) && !isTouchInput && mouseDownPriority)
+ if (!carousel.AbsoluteScrolling && !isTouchInput && mouseDownPriority)
{
revealingBackground = Scheduler.AddDelayed(() =>
{