]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/separating-group-spanner.cc
* lily/accidental-placement.cc (split_accidentals): new function
[lilypond.git] / lily / separating-group-spanner.cc
index 992dba8d63b8dbaac975fcd252e310eee4c9e3bd..f4471530bf217091788c94b30925299ff52d3d84 100644 (file)
@@ -17,9 +17,6 @@
 void
 Separating_group_spanner::find_rods (Item * r, SCM next)
 {
-  Interval ri (Separation_item::my_width (r));
-  if (ri.empty_b ())
-    return;
 
   /*
     This is an inner loop, however, in most cases, the interesting L
@@ -32,9 +29,9 @@ Separating_group_spanner::find_rods (Item * r, SCM next)
 
       if (lb)
        {
-         Interval li (Separation_item::my_width (lb));
-
-         if (!li.empty_b ())
+         Interval li (Separation_item::width (lb));
+         Interval ri (Separation_item::conditional_width (r, lb));
+         if (!li.empty_b () && !ri.empty_b())
            {
              Rod rod;
 
@@ -48,8 +45,9 @@ Separating_group_spanner::find_rods (Item * r, SCM next)
            }
        }
 
-      Interval li (Separation_item::my_width (l));
-      if (!li.empty_b ())
+      Interval li (Separation_item::width (l));
+      Interval ri (Separation_item::conditional_width (r, l));
+      if (!li.empty_b () && !ri.empty_b())
        {
          Rod rod;
 
@@ -105,25 +103,6 @@ Separating_group_spanner::set_spacing_rods (SCM smob)
        find_rods (rb, ly_cdr (s));
     }
 
-#if 0
-  /*
-    TODO; restore this.
-   */
-  /*
-    We've done our job, so we get lost. 
-   */
-  for (SCM s = me->get_grob_property ("elements"); gh_pair_p (s); s = ly_cdr (s))
-    {
-      Item * it =dynamic_cast<Item*> (unsmob_grob (ly_car (s)));
-      if (it && it->broken_b ())
-       {
-         it->find_prebroken_piece (LEFT) ->suicide ();
-         it->find_prebroken_piece (RIGHT)->suicide ();
-       }
-      it->suicide ();
-    }
-  me->suicide ();
-#endif
   return SCM_UNSPECIFIED ;
 }