1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 14:17:26 +08:00
osu-lazer/osu.Game/Screens
Bartłomiej Dach c1107d2797
Fully refetch working beatmap when entering editor
Closes https://github.com/ppy/osu/issues/21794.

I'm not actually super sure as to what the exact mode of failure is
here, but it's 99% to do with working beatmap cache invalidation. Likely
this can be even considered as another case of
https://github.com/ppy/osu/issues/21357, but because this is a one-liner
"fix," I'm PRing it anyways.

The issue is confusing to understand when working with the swap scenario
given in the issue, but it's a little easier to understand when
performing the following:

1. Have a beatmap set with 2 difficulties. Let's call them "A" and "B".
2. From song select, without ever exiting to main menu, edit "A". Change
   the difficulty name to "AA". Save and exit back to song select; do
   not exit out to main menu.
3. From song select, edit "B". Change the difficulty name to "BB". Save
   and exit back to song select.
4. The difficulty names will be "A" and "BB".

Basically what I *think* is causing this, is the fact that even though
editor invalidates the working beatmap by refetching it afresh on exit,
song select is blissfully unaware of this, and continues working with
its own `BeatmapInfo` instances which have backlinks to
`BeatmapSetInfo`.

When editing the first of the two difficulties and then the second,
the editing of the first one only invalidates the first one rather than
the entire set, and the second difficulty continues to have a stale
reference to the first one via the beatmap set, and as such ends up
overwriting the changes from the first save when passed into the editor
and modified again.
2024-04-25 14:31:13 +02:00
..
Backgrounds Update resources 2024-01-29 19:33:13 +09:00
Edit Remove unused using 2024-04-24 01:00:03 -07:00
Import Merge branch 'master' into update-framework 2022-11-26 16:19:36 +01:00
Menu Remove unnecessary Math.Max 2024-03-26 20:28:03 +08:00
OnlinePlay Update all TabItem implementations to play select sample on OnActivatedByUser 2024-04-17 11:20:17 +03:00
Play Fix settings colour scheme wrong when viewing gameplay from skin editor button 2024-04-23 20:54:48 +08:00
Ranking Don't require hold for quick exit at results screen 2024-04-20 04:53:31 +08:00
Select Fully refetch working beatmap when entering editor 2024-04-25 14:31:13 +02:00
Spectate Add visualisation of when a spectated player fails 2023-11-24 14:44:57 +09:00
Utility Calculate unstable rate using rate-adjusted offsets 2023-11-10 19:57:44 -08:00
BackgroundScreen.cs Unload beatmap storyboard background when no longer present 2023-11-09 17:20:11 +03:00
BackgroundScreenStack.cs Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
IHandlePresentBeatmap.cs Automated pass 2023-06-24 01:00:03 +09:00
IHasSubScreenStack.cs Automated pass 2023-06-24 01:00:03 +09:00
IOsuScreen.cs Allow screens to change the ability to interact with the global track 2023-07-25 20:20:53 +09:00
IPerformFromScreenRunner.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
Loader.cs Remove disclaimer screen completely 2023-12-28 17:21:29 +09:00
OsuScreen.cs Apply alternative solution 2024-01-29 20:07:27 +01:00
OsuScreenDependencies.cs
OsuScreenStack.cs Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
ScorePresentType.cs Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
ScreenWhiteBox.cs Partial everything 2022-11-27 00:00:27 +09:00
StartupScreen.cs Automated pass 2023-06-24 01:00:03 +09:00