From 5ae14ebe02f8e241d670fbec5d26df4ca2e5a6d1 Mon Sep 17 00:00:00 2001 From: Matt McClinch Date: Wed, 7 Nov 2018 00:55:17 -0500 Subject: [PATCH] fix #277864: Exchange voice does not add rests to complete voice 1 --- libmscore/edit.cpp | 5 +++++ .../libmscore/exchangevoices/exchangevoices-gliss-ref.mscx | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libmscore/edit.cpp b/libmscore/edit.cpp index 690fde9bb25e3..ed3b4c4409c22 100644 --- a/libmscore/edit.cpp +++ b/libmscore/edit.cpp @@ -3767,6 +3767,11 @@ void Score::undoExchangeVoice(Measure* measure, int v1, int v2, int staff1, int ChordRest* cr = toChordRest(s->element(track)); if (cr == 0) continue; + if (cr->isRest()) { + Rest* r = toRest(cr); + if (r->isGap()) + r->undoChangeProperty(Pid::GAP, false); + } if (ctick < s->tick()) { // fill gap int ticks = s->tick() - ctick; diff --git a/mtest/libmscore/exchangevoices/exchangevoices-gliss-ref.mscx b/mtest/libmscore/exchangevoices/exchangevoices-gliss-ref.mscx index 4f521512587a1..833453ba2959b 100644 --- a/mtest/libmscore/exchangevoices/exchangevoices-gliss-ref.mscx +++ b/mtest/libmscore/exchangevoices/exchangevoices-gliss-ref.mscx @@ -80,9 +80,9 @@ 4 4 - - 1/2 - + + half + quarter