X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbeam-collision-engraver.cc;h=cdb4be6270dad054ee13c8a8d55d88e52ef12285;hb=faedf68d175302e2f52de307368677e934112cc1;hp=8880e9c6e34bf68c306fe9d47005fac3e280a3fd;hpb=3e1a1c11067f26331b1c794e296c65b0984054a9;p=lilypond.git diff --git a/lily/beam-collision-engraver.cc b/lily/beam-collision-engraver.cc index 8880e9c6e3..cdb4be6270 100644 --- a/lily/beam-collision-engraver.cc +++ b/lily/beam-collision-engraver.cc @@ -76,6 +76,7 @@ Beam_collision_engraver::finalize () for (vsize i = 0; i < beams_.size (); i++) { Grob *beam_grob = beams_[i].grob (); + Context *beam_context = beams_[i].context (); Interval_t beam_spanned_rank_ = beam_grob->spanned_rank_interval (); @@ -90,8 +91,7 @@ Beam_collision_engraver::finalize () Context *covered_grob_context = covered_grobs_[j].context (); Interval_t covered_grob_spanned_rank = covered_grob->spanned_rank_interval (); - if ((covered_grob_spanned_rank[LEFT] > beam_spanned_rank_[RIGHT] - || !covered_grob_has_interface (covered_grob, beam_grob))) + if (covered_grob_spanned_rank[LEFT] > beam_spanned_rank_[RIGHT]) break; /* Only consider grobs whose end falls at or after the beam's beginning. @@ -103,7 +103,8 @@ Beam_collision_engraver::finalize () && !(to_boolean (beam_grob->get_property ("collision-voice-only")) && (covered_grob_context != beam_context)) && !(Beam::has_interface (covered_grob) - && (covered_grob_spanned_rank[LEFT] <= beam_spanned_rank_[LEFT]))) + && (covered_grob_spanned_rank[LEFT] <= beam_spanned_rank_[LEFT])) + && covered_grob_has_interface (covered_grob, beam_grob)) { // Do not consider note heads attached to the beam. if (Stem::has_interface (covered_grob))