mirror of
https://github.com/ppy/osu.git
synced 2025-02-16 17:03:18 +08:00
Fix song select not always scrolling to the correct location
This commit is contained in:
parent
a81c26577d
commit
3ba9f840fd
@ -452,9 +452,6 @@ namespace osu.Game.Screens.Select
|
|||||||
if (!itemsCache.IsValid)
|
if (!itemsCache.IsValid)
|
||||||
updateItems();
|
updateItems();
|
||||||
|
|
||||||
if (!scrollPositionCache.IsValid)
|
|
||||||
updateScrollPosition();
|
|
||||||
|
|
||||||
// Remove all items that should no longer be on-screen
|
// Remove all items that should no longer be on-screen
|
||||||
scrollableContent.RemoveAll(p => p.Y < visibleUpperBound - p.DrawHeight || p.Y > visibleBottomBound || !p.IsPresent);
|
scrollableContent.RemoveAll(p => p.Y < visibleUpperBound - p.DrawHeight || p.Y > visibleBottomBound || !p.IsPresent);
|
||||||
|
|
||||||
@ -519,6 +516,14 @@ namespace osu.Game.Screens.Select
|
|||||||
updateItem(p);
|
updateItem(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void UpdateAfterChildren()
|
||||||
|
{
|
||||||
|
base.UpdateAfterChildren();
|
||||||
|
|
||||||
|
if (!scrollPositionCache.IsValid)
|
||||||
|
updateScrollPosition();
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Dispose(bool isDisposing)
|
protected override void Dispose(bool isDisposing)
|
||||||
{
|
{
|
||||||
base.Dispose(isDisposing);
|
base.Dispose(isDisposing);
|
||||||
@ -637,9 +642,12 @@ namespace osu.Game.Screens.Select
|
|||||||
|
|
||||||
private void updateScrollPosition()
|
private void updateScrollPosition()
|
||||||
{
|
{
|
||||||
if (scrollTarget != null) scroll.ScrollTo(scrollTarget.Value);
|
if (scrollTarget != null)
|
||||||
|
{
|
||||||
|
scroll.ScrollTo(scrollTarget.Value);
|
||||||
scrollPositionCache.Validate();
|
scrollPositionCache.Validate();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Computes the x-offset of currently visible items. Makes the carousel appear round.
|
/// Computes the x-offset of currently visible items. Makes the carousel appear round.
|
||||||
|
Loading…
Reference in New Issue
Block a user