From: Joe Neeman <joeneeman@gmail.com>
Date: Sat, 10 May 2008 02:50:52 +0000 (+1000)
Subject: Fix 591.
X-Git-Tag: release/2.11.46-1~20
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=cf53bb0a657a2095d3363f8178212dde68556265;p=lilypond.git

Fix 591.

Remove arpeggios from NoteColumns.
---

diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc
index 4fef353a46..4196f7a769 100644
--- a/lily/rhythmic-column-engraver.cc
+++ b/lily/rhythmic-column-engraver.cc
@@ -92,10 +92,7 @@ Rhythmic_column_engraver::process_acknowledged ()
 	}
 
       if (arpeggio_)
-	{
-	  Pointer_group_interface::add_grob (note_column_, ly_symbol2scm ("elements"), arpeggio_);
-	  note_column_->set_object ("arpeggio", arpeggio_->self_scm ());
-	}
+	note_column_->set_object ("arpeggio", arpeggio_->self_scm ());
     }
 }
 
diff --git a/lily/separation-item.cc b/lily/separation-item.cc
index a567f3c6bd..2e46c59771 100644
--- a/lily/separation-item.cc
+++ b/lily/separation-item.cc
@@ -11,6 +11,7 @@
 #include "accidental-placement.hh"
 #include "axis-group-interface.hh"
 #include "lookup.hh"
+#include "note-column.hh"
 #include "note-head.hh"
 #include "paper-column.hh"
 #include "pointer-group-interface.hh"
@@ -101,7 +102,18 @@ Separation_item::boxes (Grob *me, Grob *left)
   if (left)
     elts = Accidental_placement::get_relevant_accidentals (read_only_elts, left);
   else
-    elts = read_only_elts;
+    {
+      elts = read_only_elts;
+
+      /* This is a special-case for NoteColumn: we want to include arpeggio in its
+	 skyline (so spacing takes it into account) but we don't want to include it
+	 in the NoteColumn's extent because some spanners (eg. Hairpin) bound themselves
+	 on the NoteColumn and we don't want them to include arpeggios in their bounds.
+      */
+      if (Grob *a = Note_column::arpeggio (me)) {
+	elts.push_back (a);
+      }
+    }
 
   Grob *ycommon = common_refpoint_of_array (elts, me, Y_AXIS);