]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.1.54
authorfred <fred>
Sun, 24 Mar 2002 20:09:21 +0000 (20:09 +0000)
committerfred <fred>
Sun, 24 Mar 2002 20:09:21 +0000 (20:09 +0000)
lily/rod.cc
lily/separating-group-spanner.cc

index f624d012532e23e75013a8ba4649dc9806b3bac4..8face4fd45838035611e54e81817651eb488f12f 100644 (file)
@@ -15,7 +15,13 @@ Rod::Rod (Single_malt_grouping_item *l, Single_malt_grouping_item *r)
 {
   item_l_drul_[LEFT] =l;
   item_l_drul_[RIGHT]=r;
-  distance_f_ = l->my_width () [RIGHT] + r->my_width ()[LEFT];
+
+  Interval li (l->my_width ());
+  Interval ri (r->my_width ());
+  if (li.empty_b () || ri.empty_b ())
+    distance_f_ = 0;
+  else
+    distance_f_ = li[RIGHT] + ri[LEFT];
 }
          
 Rod::Rod ()
index 42ec3ee92c562448b409bcc17fa252d4282d00d8..3361dadc554300bd23a7556fb351c90b5910671f 100644 (file)
@@ -9,31 +9,36 @@
 
 #include "separating-group-spanner.hh"
 #include "single-malt-grouping-item.hh"
+#include "p-col.hh"
 
 Array<Rod>
 Separating_group_spanner::get_rods () const
 {
   Array<Rod> a;
-
+  
   for (int i=0; i < spacing_unit_l_arr_.size () -1; i++)
     {
       a.push (Rod (spacing_unit_l_arr_[i], spacing_unit_l_arr_[i+1]));
-      bool lb =spacing_unit_l_arr_[i]->breakable_b_;
+      bool lb =spacing_unit_l_arr_[i]->column_l ()->breakable_b_;
       if (lb)
        {
-         a.push (Rod ((Single_malt_grouping_item*) spacing_unit_l_arr_[i]->find_prebroken_piece (RIGHT),
+         a.push (Rod ((Single_malt_grouping_item*)
+                      spacing_unit_l_arr_[i]->find_prebroken_piece (RIGHT),
                       spacing_unit_l_arr_[i+1]));
        }
-      bool rb=spacing_unit_l_arr_[i+1]->breakable_b_;
+      bool rb=spacing_unit_l_arr_[i+1]->column_l ()->breakable_b_;
       if (rb)
        {
          a.push (Rod (spacing_unit_l_arr_[i],
-                    (Single_malt_grouping_item*)  spacing_unit_l_arr_[i+1]->find_prebroken_piece (LEFT)));
+                      (Single_malt_grouping_item*)
+                      spacing_unit_l_arr_[i+1]->find_prebroken_piece (LEFT)));
        }
       if (lb && rb)
        {
-         a.push (Rod ((Single_malt_grouping_item*)spacing_unit_l_arr_[i]->find_prebroken_piece (RIGHT),
-                    (Single_malt_grouping_item*)  spacing_unit_l_arr_[i+1]->find_prebroken_piece (LEFT)));
+         a.push (Rod ((Single_malt_grouping_item*)
+                      spacing_unit_l_arr_[i]->find_prebroken_piece (RIGHT),
+                      (Single_malt_grouping_item*)
+                      spacing_unit_l_arr_[i+1]->find_prebroken_piece (LEFT)));
        }
        
     }