osu/osu.Game/Overlays
Bartłomiej Dach 25e38560ce
Fix placeholder drawables on beatmap listing not always hiding correctly
`BeatmapListingOverlay.addContentToPlaceholder()`, in order to make
transitions between different beatmap listing content (whether it is
actual cards, or placeholders for no beatmaps found/supporter-specific
filters chosen), would set `BypassAutoSizeAxes = Y` on content as it is
fading out, to make the transition smoother. The property in question
was supposed to be getting restored to `None` on the next show.

In testing scenarios, it sometimes turned out that this wasn't the case,
therefore making the placeholders effectively not show - while they
were present and fully opaque, they would be the only child of
an auto-sized container with `BypassAutoSizeAxes = Y`, so the parent
auto-sized to a zero height, which logically follows from the premise,
but is not what was desired.

This in turn was caused by the fact that the `BypassAutoSizeAxes = Y`
set was scheduled, and sometimes it would be scheduled in such a way
that the drawable would cease to be present on the next frame due to its
alpha being past the cutoff point of 0.0001. Therefore the scheduled set
would not execute until the *next* time the placeholder was shown,
therefore causing the bug.

Fix by ensuring that the placeholder drawables are always present if
their schedulers have any tasks enqueued, on top of the usual checks of
alpha and scale performed via the base implementation.
2021-12-22 15:05:23 +01:00
..
AccountCreation
BeatmapListing Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
BeatmapSet Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Changelog
Chat Fix LinkFlowContainer not creating user links supporting full IUser specification 2021-11-08 14:17:47 +09:00
Comments
Dashboard Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dialog
Login
MedalSplash
Mods
Music Merge pull request #15772 from peppy/remove-model-list-inits 2021-11-24 16:41:19 +09:00
News
Notifications Add failing test case 2021-11-09 13:34:36 +01:00
OSD Fix toast popups spamming samples when adjusting osu!mania scroll speed during gameplay 2021-12-15 12:45:23 +09:00
Profile Rename BeatmapCard{ => Normal} 2021-12-21 08:26:21 +01:00
Rankings Rename BeatmapCard{ => Normal} 2021-12-21 08:26:21 +01:00
Settings Merge branch 'master' into fix-realm-post-storage-migration-failure 2021-12-17 00:19:46 +01:00
Toolbar Ensure correct disabled ruleset callback scheduling in ruleset selector 2021-11-27 15:28:23 +01:00
Volume Remove usage of key repeat helper method 2021-11-18 13:13:36 +09:00
Wiki Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
AccountCreationOverlay.cs
BeatmapListingOverlay.cs Fix placeholder drawables on beatmap listing not always hiding correctly 2021-12-22 15:05:23 +01:00
BeatmapSetOverlay.cs Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
BreadcrumbControlOverlayHeader.cs
ChangelogOverlay.cs Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
ChatOverlay.cs Don't show multiplayer channels in chat overlay 2021-12-16 16:41:47 +09:00
DashboardOverlay.cs
DialogOverlay.cs Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
FullscreenOverlay.cs
HoldToConfirmOverlay.cs
INamedOverlayComponent.cs
LoginOverlay.cs
MedalOverlay.cs
MusicController.cs Update cases where equality can be used instead of primary key equality 2021-11-24 12:49:57 +09:00
NewsOverlay.cs
NotificationOverlay.cs
NowPlayingOverlay.cs Ensure correct disabled beatmap callback scheduling in now playing overlay 2021-11-27 14:36:34 +01:00
OnlineOverlay.cs
OnScreenDisplay.cs Fix toast popups spamming samples when adjusting osu!mania scroll speed during gameplay 2021-12-15 12:45:23 +09:00
OverlayActivation.cs
OverlayColourProvider.cs
OverlayHeader.cs
OverlayHeaderBackground.cs
OverlayPanelDisplayStyleControl.cs
OverlayRulesetSelector.cs
OverlayRulesetTabItem.cs
OverlayScrollContainer.cs
OverlaySidebar.cs
OverlaySortTabControl.cs
OverlayStreamControl.cs
OverlayStreamItem.cs
OverlayTabControl.cs
OverlayTitle.cs
OverlayView.cs
RankingsOverlay.cs
RestoreDefaultValueButton.cs
SettingsOverlay.cs
SettingsPanel.cs
SettingsSubPanel.cs
SortDirection.cs
TabbableOnlineOverlay.cs
TabControlOverlayHeader.cs
UserProfileOverlay.cs
VolumeOverlay.cs
WaveOverlayContainer.cs
WikiOverlay.cs