1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 18:07:28 +08:00
osu-lazer/osu.Game/Screens/Select/Carousel
Dean Herbert 520d2d6cfa Fix beatmap carousel panels accepting input while marked as not-visible
This is an issue as carousel panels manage their own animated state. If
they are marked as not-visible (done at a higher level, from filtering
or update pathways) but clicked while fading out, they will animate back
to a visible state but not be marked as visible.

No tests for this one as it's probably not worthwhile to test (and hard
to do so). Manual testing can be done with the following patch:

```diff
diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs
b/osu.Game/Screens/Select/BeatmapCarousel.cs
index c3d340ac61..3372242acc 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -255,7 +255,7 @@ private void
beatmapSetsChanged(IRealmCollection<BeatmapSetInfo> sender, ChangeS
             }

             foreach (int i in changes.NewModifiedIndices)
-                UpdateBeatmapSet(sender[i].Detach());
+                Scheduler.AddDelayed(() =>
                 UpdateBeatmapSet(sender[i].Detach()), 100, true);

             foreach (int i in changes.InsertedIndices)
                 UpdateBeatmapSet(sender[i].Detach());

```

- Enter gameplay and adjust beatmap offset then return to song select
  and click the flashing panel.
OR
- Enter editor and save then return to song select and click the
  flashing panel.

Closes https://github.com/ppy/osu/discussions/17171.
2022-03-09 16:08:52 +09:00
..
CarouselBeatmap.cs Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
CarouselBeatmapSet.cs Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
CarouselGroup.cs Apply NRT to CarouselGroup 2022-01-21 13:26:29 +09:00
CarouselGroupEagerSelect.cs Fix CarouselGroupEagerSelect not invoking subclassed AddChild from AddChildren calls 2022-01-20 21:57:16 +09:00
CarouselHeader.cs Revert "Merge pull request #16716 from peppy/carousel-less-invalidations" 2022-02-05 16:12:58 +09:00
CarouselItem.cs Store y positions inside items rather than in a separate array 2020-10-13 17:37:33 +09:00
DrawableCarouselBeatmap.cs Revert "Merge pull request #16716 from peppy/carousel-less-invalidations" 2022-02-05 16:12:58 +09:00
DrawableCarouselBeatmapSet.cs Revert "Merge pull request #16716 from peppy/carousel-less-invalidations" 2022-02-05 16:12:58 +09:00
DrawableCarouselItem.cs Fix beatmap carousel panels accepting input while marked as not-visible 2022-03-09 16:08:52 +09:00
FilterableDifficultyIcon.cs Rename BeatmapInfo variables which were named beatmap for clarity 2021-10-02 12:45:34 +09:00
FilterableGroupedDifficultyIcon.cs Rename BeatmapInfo variables which were named beatmap for clarity 2021-10-02 12:45:34 +09:00
SetPanelBackground.cs Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
SetPanelContent.cs Disallow interaction with carousel set difficulty icons unless selected 2022-03-07 11:34:08 +09:00
TopLocalRank.cs Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00