Index: cmd.cpp =================================================================== --- cmd.cpp (Revision 4106) +++ cmd.cpp (Arbeitskopie) @@ -2529,6 +2529,19 @@ cr->setTrack(track); int tick = curTick - tickStart + dstTick; + // when multiple voices involved, + // notes can exceed the length of the selection + // if this is the case, shorten them + // tickStart + tickLen = end of selection + // curTick + cr->ticks() = note position + duration + + if (cr->ticks() + curTick > tickStart + tickLen) { + int len = tickStart + tickLen - curTick; + Duration d; + d.setVal(len); + cr->setDurationType(d); + } + if (cr->type() == CHORD) { // set note track // check if staffMove moves a note to a