]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/script-column.cc
lilypond-book: Textwidth detection with included file (issue 3136).
[lilypond.git] / lily / script-column.cc
index 4e2dd3edc487a4c27e6d8b4bdd34b916611044d3..d0486ea4aa1efbe52d52a57f53048749da435dd0 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1999--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1999--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -132,8 +132,7 @@ Script_column::order_grobs (vector<Grob *> grobs)
       scripts_drul[d] = scm_cons (g->self_scm (), scripts_drul[d]);
     }
 
-  Direction d = DOWN;
-  do
+  for (DOWN_and_UP (d))
     {
       SCM ss = scm_reverse_x (scripts_drul[d], SCM_EOL);
       ss = scm_stable_sort_x (ss, ly_grob_script_priority_less_proc);
@@ -157,7 +156,7 @@ Script_column::order_grobs (vector<Grob *> grobs)
                 use it as a support for the current grob
               */
               if (!scm_is_number (last_outside_staff))
-                Side_position_interface::add_support (g, last);
+                Side_position_interface::recursive_add_support (g, last);
               /*
                 if outside_staff_priority is missing or is equal to original
                 outside_staff_priority of previous grob, set new
@@ -172,7 +171,6 @@ Script_column::order_grobs (vector<Grob *> grobs)
             }
         }
     }
-  while (flip (&d) != DOWN);
 }
 
 ADD_INTERFACE (Script_column,