1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 09:07:52 +08:00
osu-lazer/osu.Game.Rulesets.Mania.Tests
Bartłomiej Dach bdeea37a44
Commit active placement when starting drag selection via timeline
This was reported in https://github.com/ppy/osu/pull/28474, albeit the
code changes proposed there did not fix the issue at all.

See 8b6385f7d0 for demonstration of the
crash scenario. Basically what is happening there is:

- The starting premise is that there is a spinner placement active.
- At this time, a drag selection is started via the timeline.
- Once the drag selection finds at least one suitable object to select,
  it mutates `SelectedItems`.
- When selection changes for any reason, the `HitObjectComposer`
  decides to switch to the "select" tool, regardless of why
  the selection changed.
- Changing the active tool causes the current placement - if any -
  to be committed, which mutates the beatmap.
- Back at the drag box selection code, this causes a "collection
  modified when enumerating" exception.

The proposed fix here is to eagerly commit active placement - if any -
when drag selection is initiated via the timeline, which avoids this
issue. This also appears to vaguely match stable behaviour and is sort
of consistent with the logic of committing any outstanding changes upon
switching to the selection tool.
2024-06-14 09:32:40 +02:00
..
.vscode Update other VS code configuration files 2024-02-16 01:45:30 +03:00
Editor Commit active placement when starting drag selection via timeline 2024-06-14 09:32:40 +02:00
Mods Update tests in line with new structure 2024-05-14 22:34:05 +08:00
Resources Fix osu!mania converted key count edge cases 2023-12-09 15:39:54 +09:00
Skinning Fix failing tests due to pooling safety changes 2024-01-21 12:17:16 +09:00
ManiaBeatmapConversionTest.cs Fix osu!mania converted key count edge cases 2023-12-09 15:39:54 +09:00
ManiaBeatmapSampleConversionTest.cs Fix FP precision issue when converting mania beatmaps 2023-12-07 12:26:02 +09:00
ManiaDifficultyCalculatorTest.cs Fix FP precision issue when converting mania beatmaps 2023-12-07 12:26:02 +09:00
ManiaHealthProcessorTest.cs Add failing test coverage for mania 2024-02-13 13:06:19 +01:00
ManiaInputTestScene.cs Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
ManiaLegacyModConversionTest.cs Add failing legacy mod conversion test cases 2023-07-09 16:09:25 +02:00
ManiaLegacyReplayTest.cs Automated pass 2023-06-24 01:00:03 +09:00
ManiaSpecialColumnTest.cs Automated pass 2023-06-24 01:00:03 +09:00
osu.Game.Rulesets.Mania.Tests.csproj Upgrade to .NET 8 SDK 2024-02-02 21:28:51 +09:00
TestSceneAutoGeneration.cs Automated pass 2023-06-24 01:00:03 +09:00
TestSceneColumn.cs Automated pass 2023-06-24 01:00:03 +09:00
TestSceneDrawableManiaHitObject.cs Partial everything 2022-11-27 00:00:27 +09:00
TestSceneHoldNoteInput.cs Remove outdated inline comments 2023-12-20 15:44:02 +01:00
TestSceneManiaHitObjectSamples.cs Automated pass 2023-06-24 01:00:03 +09:00
TestSceneManiaPlayer.cs Automated pass 2023-06-24 01:00:03 +09:00
TestSceneManiaTouchInputArea.cs Update tests in line with new structure 2024-05-14 22:34:05 +08:00
TestSceneMaximumScore.cs Update test expectations 2023-12-20 19:57:42 +09:00
TestSceneNotes.cs Partial everything 2022-11-27 00:00:27 +09:00
TestSceneOutOfOrderHits.cs Partial everything 2022-11-27 00:00:27 +09:00
TestScenePlayfieldCoveringContainer.cs Make coverage into a bindable 2024-02-06 23:33:00 +09:00
TestSceneScoring.cs Apply mod multipliers to local score V1/V2 reimplementations 2023-10-09 13:04:12 +02:00
TestSceneStage.cs Rework Content storage in ColumnFlow 2024-01-30 03:07:37 +03:00
TestSceneTimingBasedNoteColouring.cs Add flag to allow backwards seeks in tests 2024-02-29 23:05:28 +08:00