From: David Kastrup Date: Wed, 2 Feb 2011 09:14:11 +0000 (+0100) Subject: stem-engraver.cc: recreate stem if in need of change when merging different heads X-Git-Tag: release/2.15.6-1~3^2~7 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ba6c785e63f926c7ed47d62a482922df65764238;p=lilypond.git stem-engraver.cc: recreate stem if in need of change when merging different heads --- diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index fb54591147..03b404662b 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -31,7 +31,7 @@ #include "stem-tremolo.hh" #include "stem.hh" #include "stream-event.hh" - +#include "pointer-group-interface.hh" #include "translator.icc" class Stem_engraver : public Engraver @@ -156,8 +156,16 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi) ds < 0 ? 1 << -ds : 1, ds > 0 ? 1 << ds : 1)); gi.event_cause ()->origin ()->warning (_ ("maybe input should specify polyphonic voices")); + if (ds == 1 && dc > 2) { + Grob *old_stem = stem_; + stem_=0; + make_stem(gi); + extract_grob_set (old_stem, "note-heads", heads); + for (int i=heads.size(); i--;) + Stem::add_head(stem_, heads[i]); + } } - + Stem::add_head (stem_, gi.grob ()); }