From 07edf9144366e72487514dab0407f034a4c961fc Mon Sep 17 00:00:00 2001 From: Joe Neeman Date: Sat, 5 Mar 2011 14:25:15 +1100 Subject: [PATCH] Don't set staff-affinity for staves with alignAboveContext. --- lily/vertical-align-engraver.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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; } } -- 2.39.5