From: Joe Neeman Date: Sat, 5 Mar 2011 03:25:15 +0000 (+1100) Subject: Don't set staff-affinity for staves with alignAboveContext. X-Git-Tag: release/2.13.53-1~6 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=07edf9144366e72487514dab0407f034a4c961fc;p=lilypond.git Don't set staff-affinity for staves with alignAboveContext. --- diff --git a/lily/vertical-align-engraver.cc b/lily/vertical-align-engraver.cc index 9a6e3afa30..570340f8d9 100644 --- a/lily/vertical-align-engraver.cc +++ b/lily/vertical-align-engraver.cc @@ -151,13 +151,18 @@ Vertical_align_engraver::acknowledge_axis_group (Grob_info i) if (arr[i] == before_grob) { arr.insert (arr.begin () + i, added); - added->set_property ("staff-affinity", scm_from_int (DOWN)); + + /* Only set staff affinity if it already has one. That way we won't + set staff-affinity on things that don't want it (like staves). */ + if (scm_is_number (added->get_property ("staff-affinity"))) + added->set_property ("staff-affinity", scm_from_int (DOWN)); break; } else if (arr[i] == after_grob) { arr.insert (arr.begin () + i + 1, added); - added->set_property ("staff-affinity", scm_from_int (UP)); + if (scm_is_number (added->get_property ("staff-affinity"))) + added->set_property ("staff-affinity", scm_from_int (UP)); break; } }