]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/separation-item.cc
Merge with git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond.git
[lilypond.git] / lily / separation-item.cc
index fce28831cceb44318ea02ee9625074e20799ed56..6406a3e0fcc12f9f94cba9a760358e90265d5427 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1998--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "separation-item.hh"
@@ -39,7 +39,7 @@ Separation_item::conditional_width (Grob *me, Grob *left)
   Paper_column *pc = item->get_column ();
 
   extract_grob_set (me, "conditional-elements", elts);
-  for (int i = 0; i < elts.size (); i++)
+  for (vsize i = 0; i < elts.size (); i++)
     {
       Item *il = dynamic_cast<Item *> (elts[i]);
       if (pc != il->get_column ())
@@ -67,16 +67,14 @@ Separation_item::width (Grob *me)
 {
   SCM sw = me->get_property ("X-extent");
   if (is_number_pair (sw))
-    {
-      return ly_scm2interval (sw);
-    }
+    return ly_scm2interval (sw);
 
   Item *item = dynamic_cast<Item *> (me);
   Paper_column *pc = item->get_column ();
   Interval w;
 
   extract_grob_set (me, "elements", elts);
-  for (int i = 0; i < elts.size (); i++)
+  for (vsize i = 0; i < elts.size (); i++)
     {
       Item *il = dynamic_cast<Item *> (elts[i]);
       if (pc != il->get_column ())
@@ -125,12 +123,15 @@ Separation_item::extremal_break_aligned_grob (Grob *me,
   Grob *last_grob = 0;
 
   extract_grob_set (me, "elements", elts);
-  for (int i = elts.size (); i--;)
+  for (vsize i = elts.size (); i--;)
     {
       Grob *break_item = elts[i];
       if (!scm_is_symbol (break_item->get_property ("break-align-symbol")))
        continue;
 
+      if (!scm_is_pair (break_item->get_property ("space-alist")))
+       continue;
+
       Interval ext = break_item->extent (col, X_AXIS);
 
       if (ext.is_empty ())