From 85f67ed115f5a3b4b835a7d11bc9e4ad7ea26da1 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Fri, 1 Dec 2006 17:34:47 +0100 Subject: [PATCH] take stems for common refpoint too. --- lily/accidental-placement.cc | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/lily/accidental-placement.cc b/lily/accidental-placement.cc index 2aea505679..c061627206 100644 --- a/lily/accidental-placement.cc +++ b/lily/accidental-placement.cc @@ -304,6 +304,20 @@ Accidental_placement::calc_positioning_done (SCM smob) uniq (heads); common[Y_AXIS] = common_refpoint_of_array (heads, common[Y_AXIS], Y_AXIS); + vector stems; + for (vsize i = 0; i < heads.size (); i++) + { + if (Grob *s = Rhythmic_head::get_stem (heads[i])) + { + stems.push_back (s); + common[Y_AXIS] = s->common_refpoint (common[Y_AXIS], Y_AXIS); + } + } + + vector_sort (stems, less ()); + uniq (stems); + + for (vsize i = apes.size (); i--;) { Accidental_placement_entry *ape = apes[i]; @@ -351,15 +365,6 @@ Accidental_placement::calc_positioning_done (SCM smob) insert_extent_into_skyline (&head_skyline, b, Y_AXIS, LEFT); } - vector stems; - for (vsize i = 0; i < heads.size (); i++) - { - if (Grob *s = Rhythmic_head::get_stem (heads[i])) - stems.push_back (s); - } - - vector_sort (stems, less ()); - uniq (stems); for (vsize i = 0; i < stems.size (); i ++) { int very_large = INT_MAX; -- 2.39.5