Crash on editing footer text after moving it manually with cursor keys then double-clicking it

• Jan 16, 2021 - 03:58
Reported version
3.6
Type
Graphical (UI)
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

Looks like someone had the idea to automatically prompt the Header, Footer tab in the Styles palette when I click on one of its elements in the score, nice! However, if you mess with them (or at least the copyright), the program crashes.

How to Reproduce (likely one of many ways):
1) Open a score with a footer; in my case, with a copyright statement on the first page using the $C tag.
2) Click the copyright ONCE. Clicking twice opens the Style... palette, as intended. Note: sometimes the copyright is unclickable but after a few attempts, I can eventually get this to select.
3) Use the Cntrl + up/down arrow key shortcut to move the element by one spacing. This is slightly laggy/buggy, but does move the copyright (might not see it until de-selecting it).
4) Click the copyright TWICE, which activates it like a text box. Nothing appears in the inspector, but the bottom window of basic text editing functions appears.
5) I assume making any attempt at a text edit in this mode crashes the program. What I did was press Enter to put in a line break. Program crashes when you do this.

Attached below is an image of the copyright text in edit mode before making an editing attempt, which crashes Musescore (after Step 4).

Attachment Size
copyrightedit.png 21.94 KB

Comments

Title Ver. 3.6 Crashes When Text Editing Footer/Copyright Crash on editing footer text after moving it manually with cursor keys then double-clicking it

I'm about 70% sure it shouldn't have been possible to move the footer in the first place, and that's the source of the problem. FWIW, I can't reproduce the crash, but can reproduce the moving of the footer with Ctrl+the arrow keys, and the fact that double-clicking after that does appear to make it possible to edit the footer directly. And then I can easily believe all sorts of bad things might happen, as the code was never designed to handle this.