question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Crash when hold note is moved between columns in mania editor

See original GitHub issue

Probably known to @smoogipoo but I post here anyway. Regressed in #12784.

System.InvalidOperationException: Cannot call InternalChild unless there's exactly one Drawable in Children (currently 0)!
   at osu.Framework.Graphics.Containers.Container`1.get_Child()
   at osu.Game.Rulesets.Mania.Objects.Drawables.DrawableHoldNote.get_Head() in /data/Projects/Osu/osu/osu.Game.Rulesets.Mania/Objects/Drawables/DrawableHoldNote.cs:line 31
   at osu.Game.Rulesets.Mania.Edit.Blueprints.HoldNoteSelectionBlueprint.get_ScreenSpaceSelectionPoint() in /data/Projects/Osu/osu/osu.Game.Rulesets.Mania/Edit/Blueprints/HoldNoteSelectionBlueprint.cs:line 76
   at osu.Game.Screens.Edit.Compose.Components.BlueprintContainer`1.ApplySnapResult(SelectionBlueprint`1[] blueprints, SnapResult result) in /data/Projects/Osu/osu/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs:line 502
   at osu.Game.Screens.Edit.Compose.Components.EditorBlueprintContainer.ApplySnapResult(SelectionBlueprint`1[] blueprints, SnapResult result) in /data/Projects/Osu/osu/osu.Game/Screens/Edit/Compose/Components/EditorBlueprintContainer.cs:line 71
   at osu.Game.Screens.Edit.Compose.Components.BlueprintContainer`1.moveCurrentSelection(DragEvent e) in /data/Projects/Osu/osu/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs:line 498
   at osu.Game.Screens.Edit.Compose.Components.BlueprintContainer`1.OnDrag(DragEvent e) in /data/Projects/Osu/osu/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs:line 189
   at osu.Framework.Graphics.Drawable.TriggerEvent(UIEvent e)

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:9 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
smoogipoocommented, Jun 10, 2021

I still think that is a good direction - the osu! blueprints were changed to refer to the HitObject in their Update() but unfortunately still use the DHO for these properties too… I would eventually like to see DrawableObject removed from the blueprints.

My concern here is around the overhead for something that’s required for every ruleset with multiple playfields. Maybe it’s the rest of the code related to moving hitobjects around that needs greater unification instead.

0reactions
bdachcommented, Jun 11, 2021

Yeah I don’t know about doing that just for tests, may be worth just changing the tests. Long shot as I don’t have all the context available but maybe IPositionSnapProvider can be leveraged somehow? Even if by implementing a mock or something.

Read more comments on GitHub >

github_iconTop Results From Across the Web

[resolved] [Mania] Long Note Bug · forum - Osu! - ppy
The current solution to fixing yourself is to double tap on the long note to re-register the hold, but in heavy long note...
Read more >
Hard crash when switching from the timing panel to ...
Switching from the timing to compose tab when a timing section is selected when editing an osu!mania map hard crashes the game.
Read more >
Osu mania online unblocked. osu! is a rhythm game based on ...
As a note reaches the bottom row of some column, the player is Osu! Taiko was inspired by a very famous game in...
Read more >
osu!academy Episode - 16 Mania Editor Basics - YouTube
In this episode we will go over the barebone basics of the mania editor. The editor is still new and is subject to...
Read more >
RPT-COLUMN-Volatility and flash events in the oil market
Sudden and unexplained flash crashes have been observed in other markets including the U.S. stock market (May 6, 2010) and crude oil (May...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found