Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tempo line click and drag to beginning of score crash #22934

Open
zacjansheski opened this issue May 21, 2024 · 2 comments
Open

Tempo line click and drag to beginning of score crash #22934

zacjansheski opened this issue May 21, 2024 · 2 comments
Assignees
Labels
crash Issues involving a crash of MuseScore needs review The issue needs review to set priority, fix version or change status etc. P1 Priority: High regression MS4 Regression on a prior release

Comments

@zacjansheski
Copy link
Contributor

Issue type

Crash or freeze

Bug description

If you click/drag the tail of a tempo line and send it to the beginning of the score, MuseScore crashes.

In Master, not 4.3.1

Steps to reproduce

  1. Make a score with a tempo line (rit.../acel.../etc)
  2. Click and drag the end of the line to the beginning of the score
  3. Crash

Screenshots/Screen recordings

2024-05-21.16-48-05.mp4

MuseScore Version

OS: Windows 11 Version 2009 or later, Arch.: x86_64, MuseScore Studio version (64-bit): 4.4.0-241420305, revision: github-musescore-musescore-449a64e

Regression

Yes, this used to work in a previous version of MuseScore 4.x

Operating system

All

Additional context

TempoLineCrash.zip

@muse-bot muse-bot added crash Issues involving a crash of MuseScore regression MS4 Regression on a prior release labels May 21, 2024
@zacjansheski zacjansheski added the P1 Priority: High label May 21, 2024
@mathesoncalum
Copy link
Contributor

Alright, I’ve investigated this but haven’t found a satisfying fix just yet. Posting my findings for now, will return to this later with fresh eyes.



The moment the right grip is dragged beyond the problematic point, the LineSegment is put into some sort of invalid state and disappears. This isn’t actually the point where crash happens - if you’re quick enough you can release the drag and you’re left with an invisible line segment (which can be brought back if you insert a measure before the first).

We then get a layout call which resets the explicit parent. Whatever the “invalid state” is exactly (I'm still figuring this out), it prevents the LineSegment from being re-assigned an explicit parent during the layout. This is eventually what causes the crash at the next drag event (sys is null in findSegmentForGrip due to no explicit parent).

@bkunda
Copy link

bkunda commented Jul 29, 2024

I can no longer reproduce this in the latest nightly.
@zacjansheski @mathesoncalum could you perhaps please cross-check and verify?

@bkunda bkunda added the needs review The issue needs review to set priority, fix version or change status etc. label Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash Issues involving a crash of MuseScore needs review The issue needs review to set priority, fix version or change status etc. P1 Priority: High regression MS4 Regression on a prior release
Projects
Status: Issues to fix
Development

No branches or pull requests

6 participants