X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbeam-collision-engraver.cc;h=fa829325593d7cd3beb45037bc22267c6ea5ae7c;hb=ee5b59b2ac255c8712cd76d60578bcf50181322a;hp=8880e9c6e34bf68c306fe9d47005fac3e280a3fd;hpb=3e1a1c11067f26331b1c794e296c65b0984054a9;p=lilypond.git diff --git a/lily/beam-collision-engraver.cc b/lily/beam-collision-engraver.cc index 8880e9c6e3..fa82932559 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)) @@ -176,15 +177,15 @@ ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature); ADD_ACKNOWLEDGER (Beam_collision_engraver, beam); ADD_TRANSLATOR (Beam_collision_engraver, - /* doc */ - "Help beams avoid colliding with notes and clefs in other voices.", + /* doc */ + "Help beams avoid colliding with notes and clefs in other voices.", - /* create */ - "", + /* create */ + "", - /* read */ - "", + /* read */ + "", - /* write */ - "" - ); + /* write */ + "" + );