Skip to content

Commit 29c1b71

Browse files
committed
Fix crash on reset beams
Resolves: #29385 Possibly introduced by de1859a
1 parent 6d451bd commit 29c1b71

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/engraving/dom/cmd.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2711,13 +2711,18 @@ void Score::cmdResetBeamMode()
27112711
return;
27122712
}
27132713

2714-
const staff_idx_t staffStart = selection().staffStart();
2715-
const staff_idx_t staffEnd = selection().staffEnd();
2714+
ChordRest* firstCr = selection().firstChordRest();
2715+
if (!firstCr) {
2716+
LOGD("no chord/rest in selection");
2717+
return;
2718+
}
2719+
2720+
const track_idx_t trackStart = staff2track(selection().staffStart());
2721+
const track_idx_t trackEnd = staff2track(selection().staffEnd());
27162722
const Fraction endTick = selection().tickEnd();
27172723

2718-
for (track_idx_t track = staff2track(staffStart); track < staff2track(staffEnd); ++track) {
2719-
ChordRest* firstCR = selection().firstChordRest(track);
2720-
for (Segment* seg = firstCR->segment(); seg && seg->tick() < endTick; seg = seg->next1(SegmentType::ChordRest)) {
2724+
for (Segment* seg = firstCr->segment(); seg && seg->tick() < endTick; seg = seg->next1(SegmentType::ChordRest)) {
2725+
for (track_idx_t track = trackStart; track < trackEnd; ++track) {
27212726
ChordRest* cr = toChordRest(seg->element(track));
27222727
if (!cr) {
27232728
continue;

0 commit comments

Comments
 (0)