Crash if user drops symbol from Master palette onto a lyric syllable

• Mar 20, 2019 - 14:52
Reported version
3.0
Type
Functional
Frequency
Many
Severity
S3 - Major
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

1) Open a musescore written song
2) open master palette
3) click on a note on the score (in my case I clicked on the F note on the first lyric line
" Xin cho con biet" (the note a the word biet)
4) select symbol, scroll down about 1/3 and choose the black note with stem down
5) pull the symbol and line up on the note and it crashed.

Note that if I use a diamond symbol and it worked ok

Attachment Size
BietChuaBietCon_Am.mscz 26.85 KB

Comments

Status active needs info

You men the symbols palette in the master palette and the glyph "Quarter note (crotchet) stem down"?
A) it doesn't crash for me
B) Why would you want to use that? Simply enter a quarter note (here in voice 4 I guess).
C) you're makeing quits a strange use of voices and their stem directions, why not using chords instead?

In reply to by Jojo-Schmitz

Hi Jojo,

PLEASE IGNORE THIS IF YOU HAVE SEEN MY PREVIOUS REPLY. SORRY FOR ANY
INCONVENIENCE IF YOU HAD RECEIVED IT.

That was quick response. Thanks.

I have many of my owned improvised (fill-in) notes (for the songs in my language)
that won't fit in the time signature, therefore, what I have been doing in the past was
editing these notes using my color pen. But I wanted to take the advantage of the beautiful
symbol(s) to make the music sheets look good.

It crashed for me every time (> 5 times). I enclose in this email the picture below
of the note where about in the symbol menu to show you. If I use diamond notes
and it worked just fine. I can live with the diamond notes, but just want to report
to you so you know.
Inline image

Thanks.
Peter

Thanks Jojo again. I just tried > 4 times and it crashes every time. This time I will send you another two
pictures of where on the staff and what selection in the symbol palette caused the crashes. Btw, I am
using window 7 (not sure that's a factor, but just want to let you know). Hope these pics helps a little more
with the setup so you can reduplicate. Thanks for your help.
Peter

Title Musescore crashed when using the symbol of the black note with the stem down. Crash if user drops symbol from Master palette onto a lyric syllable
Status needs info open issues

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.1.0.6052, revision: a9df4a0

The crash seems to happen when any symbol is dropped onto a lyric syllable. On Windows 10, there is a problem with the prohibition sign obscuring the cursor, which can result in the symbol being dropped in the wrong place. See #286205: Use custom drag cursor that combines "cannot drop here" icon with arrow (for systems that don't do this by default)

Hello Jojo - thanks for continuing looking into this. Since you mentioned drop the note "properly...", I then played a little bit more and found the reason why it crashed and knew how to make it worked now.

What happened was I pulled the note into the area (measure) that was not highlighted yet, dropped the note and caused it to crash. But when I pulled the note into the target area (measure), moved around a little bit until I saw the background highlighted then dropped the note then that worked well.

The crash in theory should not have happened, but I leave that for your decision to fix or not.

To concluded it was my lack of knowledge that I should wait for the target area to be highlighted first.

Thanks again for shinning some light on this.

Regards,
Peter

FWIW, the crash is an assertion failure in TextBase::cursor(). I see in TextBase::acceptDrop() we explicitly do allow symbols. I think this is probably to allow elements from the Special Characters palette to be added while in edit mode (this uses the drag & drop mechanism even for double-click). Probably we should only allow the drop if we are currently in one of the edit modes (text edit, lyrics edit, etc). Not sure there is a great to test for that in that place in the code, though. Might be somewhat easier to allow the drop but then ignore it.

Thanks Marc for finding the root cause. That was awesome !!! Hope you and developers will agree with some solution. I am happy now since I know what to do to avoid the crashes.

Thanks,
Peter