Skip to content

Commit

Permalink
Merge pull request #20346 from mike-spa/correctSpannerStartElementCom…
Browse files Browse the repository at this point in the history
…putation

Fix computation of Spanner start element in presence of MMRests
  • Loading branch information
cbjeukendrup authored Dec 7, 2023
2 parents e797aa1 + 610da9c commit aa34243
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/engraving/dom/spanner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ void Spanner::computeStartElement()
m_startElement = startSegment();
} else {
Segment* seg = score()->tick2segmentMM(tick(), false, SegmentType::ChordRest);
if (!seg || seg->empty()) {
if (!seg || seg->empty() || !seg->element(track())) {
seg = score()->tick2segment(tick(), false, SegmentType::ChordRest);
}
m_startElement = nullptr;
Expand Down
3 changes: 2 additions & 1 deletion src/engraving/rendering/dev/measurelayout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -961,7 +961,8 @@ void MeasureLayout::cmdUpdateNotes(const Measure* measure, const DomAccessor& do
auto spanners = dom.spannerMap().findOverlapping(ticks, ticks, true);
for (auto iter : spanners) {
Spanner* spanner = iter.value;
if (spanner->staffIdx() != staffIdx || !spanner->isTrill() || spanner->tick2() == measure->tick()) {
if (spanner->staffIdx() != staffIdx || !spanner->isTrill()
|| spanner->tick() == measure->tick() || spanner->tick2() == measure->tick()) {
continue;
}
Ornament* ornament = toTrill(spanner)->ornament();
Expand Down

0 comments on commit aa34243

Please sign in to comment.