fix #277745: reset pointers to Score and ScoreView in Timeline when they are destroyed #4092
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request fixes this issue. The problem lays in not resetting pointer to ScoreView inside Timeline when the view is destroyed. When showing excerpts tab after closing other score the view inside it emits
sizeChanged
signal which triggers anTimeline::updateView
slot which tries to operate on_cv
pointer which already became invalid. Resetting a pointer on view destruction resolves the problem. Perhaps we could consider also disconnectingTimeline
from the old view's signals when switching score and not updating Timeline when it is invisible but these are separate issues which are not addressed in this PR.