From 1ce41f90bc30d635c53e670f10088997a5d7f4da Mon Sep 17 00:00:00 2001 From: lasconic Date: Wed, 16 Aug 2017 17:46:35 +0200 Subject: [PATCH] fix #189736: On copy/paste measure(s) with slur(s) in score, the slur(s) get(s) lost in part --- libmscore/spanner.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libmscore/spanner.cpp b/libmscore/spanner.cpp index 7ed84cb3d0..d8df6c62f6 100644 --- a/libmscore/spanner.cpp +++ b/libmscore/spanner.cpp @@ -644,7 +644,7 @@ Chord* Spanner::endChord() ChordRest* Spanner::startCR() { Q_ASSERT(_anchor == Anchor::SEGMENT || _anchor == Anchor::CHORD); - if (!_startElement) + if (!_startElement || _startElement->score() != score()) _startElement = score()->findCR(tick(), track()); return static_cast(_startElement); } @@ -656,7 +656,7 @@ ChordRest* Spanner::startCR() ChordRest* Spanner::endCR() { Q_ASSERT(_anchor == Anchor::SEGMENT || _anchor == Anchor::CHORD); - if (!_endElement && isSlur()) { + if ((!_endElement || _endElement->score() != score())) { Segment* s = score()->tick2segmentMM(tick2(), false, SegmentType::ChordRest); _endElement = s ? toChordRest(s->element(track2())) : 0; }