osu icon indicating copy to clipboard operation
osu copied to clipboard

SettingsSlider can change value when Settings Overlay is closed

Open Gabixel opened this issue 6 years ago • 4 comments

Describe the bug: If you hold a slider in the Settings Overlay, close the overlay and start dragging the cursor, the slider reaches its maximum value (and some smaller values if you move the cursor close to the edge, depending on the values of the slider).

Screenshots or videos showing encountered issue:

https://user-images.githubusercontent.com/43073074/103647884-45b4e280-4f5c-11eb-8afa-9bd31e82b2dc.mp4

osu!lazer version: 2019.913.0 (updated video: 2020.1229.0)

Gabixel avatar Sep 15 '19 07:09 Gabixel

This issue is not limited to the Settings Overlay, it happens with all sliders. Some examples can be seen here https://github.com/ppy/osu/discussions/23347, though it's easy to reproduce; just hit Esc while dragging a slider. The solution would be to have sliders disengage when they are no longer visible.

monochrome22 avatar Apr 30 '23 15:04 monochrome22

Probably a framework-side fix. Although may be hard as the IsPresent state will not be updated in all cases (ie. when a parent is hidden). Isn't the first time something like this has come up though, can probably copy from another case where this was fixed.

peppy avatar May 02 '23 04:05 peppy

Since the issue is caused by the user being able to exit the overlay with keyboard, it may be wiser to end a drag when a key (or any other input that isn't mouse move) is triggered?

frenzibyte avatar Jul 19 '24 00:07 frenzibyte

Since the issue is caused by the user being able to exit the overlay with keyboard, it may be wiser to end a drag when a key (or any other input that isn't mouse move) is triggered?

This would not solve cases where the slider bar was faded out or hidden due to other reasons. Also that might interfere with editor flows where keys can be pressed while dragging a slider bar.

peppy avatar Aug 19 '24 05:08 peppy