diff --git a/src/gui/editors/PianoRoll.cpp b/src/gui/editors/PianoRoll.cpp index 0eb5df16343..33f9dae74ff 100644 --- a/src/gui/editors/PianoRoll.cpp +++ b/src/gui/editors/PianoRoll.cpp @@ -2810,9 +2810,11 @@ void PianoRoll::dragNotes( int x, int y, bool alt, bool shift, bool ctrl ) { if (note->selected()) { - int newLength = note->oldLength() + off_ticks; - newLength = qMax(1, newLength); - note->setLength( MidiTime(newLength) ); + int oldLength = note->oldLength(); + int newLength = oldLength + off_ticks; + int minLength = qMin(oldLength,quantization()); + newLength = qMax(alt ? 1 : minLength, newLength); + note->setLength(MidiTime(newLength)); m_lenOfNewNotes = note->length(); }