From: Patrick McCarty Date: Sun, 27 Jun 2010 19:57:22 +0000 (-0700) Subject: Fix #1156. X-Git-Tag: release/2.13.27-1~69 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=301db9e8fafc31b76d4a974b2e7a56924f0e80d2;p=lilypond.git Fix #1156. Sometimes the check for the *left* broken neighbor may be a spacer rest, which appears to be a generic Spanner with direction CENTER. An additional check is needed to make sure the grob in question is a Slur or PhrasingSlur, or else an assertion will be raised -- slurs must have a direction of either UP or DOWN. --- diff --git a/lily/slur-scoring.cc b/lily/slur-scoring.cc index a43daa3ed4..a1f761acf2 100644 --- a/lily/slur-scoring.cc +++ b/lily/slur-scoring.cc @@ -85,7 +85,9 @@ Slur_score_state::~Slur_score_state () Direction Slur_score_state::slur_direction () const { - if (Grob *left_neighbor = slur_->broken_neighbor (LEFT)) + Grob *left_neighbor = slur_->broken_neighbor (LEFT); + + if (left_neighbor && Slur::has_interface (left_neighbor)) return get_grob_direction (left_neighbor); Direction dir = get_grob_direction (slur_);