]> git.donarmstrong.com Git - lilypond.git/commitdiff
Don't set staff-affinity for staves with alignAboveContext.
authorJoe Neeman <joeneeman@gmail.com>
Sat, 5 Mar 2011 03:25:15 +0000 (14:25 +1100)
committerJoe Neeman <joeneeman@gmail.com>
Sat, 5 Mar 2011 13:15:06 +0000 (00:15 +1100)
lily/vertical-align-engraver.cc

index 9a6e3afa30c8e58aff8e92e3168c23d504fa3755..570340f8d94dbc8254328b0e8cc6e84caad6cce1 100644 (file)
@@ -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;
                }
            }