Skip to content

Fix osu! editor composer scale handles not updating correctly when selected object is changed#36681

Merged
peppy merged 1 commit intoppy:masterfrom
bdach:missing-handles
Feb 16, 2026
Merged

Fix osu! editor composer scale handles not updating correctly when selected object is changed#36681
peppy merged 1 commit intoppy:masterfrom
bdach:missing-handles

Conversation

@bdach
Copy link
Copy Markdown
Collaborator

@bdach bdach commented Feb 16, 2026

Before:

Screen.Recording.2026-02-16.at.14.55.20.mov

After:

Screen.Recording.2026-02-16.at.14.56.23.mov

Closes #36677.

Kinda shocking this went by unnoticed for this long.

…lected object is changed

Closes ppy#36677.

Kinda shocking this went by unnoticed for this long.
@bdach bdach self-assigned this Feb 16, 2026
@bdach bdach added area:editor quick fix Tasks which were taken on because they take no time to fix labels Feb 16, 2026
@bdach bdach moved this from Inbox to Pending Review in osu! team task tracker Feb 16, 2026
@peppy peppy merged commit 42bf254 into ppy:master Feb 16, 2026
5 of 10 checks passed
@github-project-automation github-project-automation bot moved this from Pending Review to Done in osu! team task tracker Feb 16, 2026
@bdach bdach deleted the missing-handles branch February 16, 2026 18:30
bdach added a commit to bdach/osu that referenced this pull request Mar 6, 2026
Closes ppy#36830.

This is a regression from ppy#36681.

Due to the aforementioned pull request's changes, rotating an object
that could not scale on the X or Y axis (due to having that dimension
zero) would trigger `CanScale{X,Y}` to change as said rotated object's
width or height became not zero. This in turn would cause `SelectionBox`
to *fully recreate* all of its handles and buttons, *including* the
rotation handle that initiated the rotation operation, therefore
dropping the ongoing rotation operation completely and leaving the
editor in a half-broken state.

The suggested solution here is to recreate handles more granularly to
prevent this from happening. (I've probably not improved it as much as
I could have, but this is as far as I'm willing to go for now unless
review finds it unpalatable.)
peppy pushed a commit that referenced this pull request Mar 6, 2026
Closes #36830.

This is a regression from #36681.

Due to the aforementioned pull request's changes, rotating an object
that could not scale on the X or Y axis (due to having that dimension
zero) would trigger `CanScale{X,Y}` to change as said rotated object's
width or height became not zero. This in turn would cause `SelectionBox`
to *fully recreate* all of its handles and buttons, *including* the
rotation handle that initiated the rotation operation, therefore
dropping the ongoing rotation operation completely and leaving the
editor in a half-broken state.

The suggested solution here is to recreate handles more granularly to
prevent this from happening. (I've probably not improved it as much as I
could have, but this is as far as I'm willing to go for now unless
review finds it unpalatable.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:editor quick fix Tasks which were taken on because they take no time to fix ruleset/osu! size/S

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Expanding selection with straight perfect curve sliders causes problems

2 participants