Skip to content

Conversation

@bdach
Copy link
Collaborator

@bdach bdach commented Oct 30, 2025

Closes #35514.

Calling HandleItemActivated() rather than its intended 'parent method' of Activate() meant that selection state was not correctly invalidated:

selectionValid.Invalidate();

which in turn meant that carousel item Y positions would not be recalculated correctly after the group was expanded, which meant that the items would become

  • visible,
  • stuck to the bottom of the expanded group,
  • one on top of another.

Which is not something that's going to perform well.

Certified OOP moment.

…cibly expands group with current selection

Calling `HandleItemActivated()` rather than its intended 'parent method'
of `Activate()` meant that selection state was not correctly
invalidated:

	https://github.com/ppy/osu/blob/819da1bc38dbc9676f8f1ee3924bfd8d9cb50347/osu.Game/Graphics/Carousel/Carousel.cs#L157

which in turn meant that carousel item Y positions would not be
recalculated correctly after the group was expanded, which meant that
the items would become

- visible,
- stuck to the bottom of the expanded group,
- one on top of another.

Which is not something that's going to perform well.

Certified OOP moment.
@bdach bdach requested a review from peppy October 30, 2025 12:26
@bdach bdach self-assigned this Oct 30, 2025
@bdach bdach added type/performance Deals with performance regressions or fixes without changing functionality. area:song-select labels Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:song-select size/XS type/performance Deals with performance regressions or fixes without changing functionality.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Massive lag and visual glitch when switching groups

2 participants