X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Faccidental-placement.cc;h=f9cac96ac71d38320369faea4232191f8efced00;hb=a22cdcd513c01949c24d5a7316e2087c9843fde3;hp=db505c694bf845432b84bbddf8596aca18d52ea7;hpb=bcb7616df5c2050c8532a392f4e760d92c631470;p=lilypond.git diff --git a/lily/accidental-placement.cc b/lily/accidental-placement.cc index db505c694b..f9cac96ac7 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]; @@ -340,15 +354,6 @@ Accidental_placement::calc_positioning_done (SCM smob) head_extents.push_back (Box (heads[i]->extent (common[X_AXIS], X_AXIS), heads[i]->extent (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); - } - - vector_sort (stems, less ()); - uniq (stems); for (vsize i = 0; i < stems.size (); i ++) { int very_large = INT_MAX;