]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/paper-score.cc
Fix off-by-one error in constrained-breaking.
[lilypond.git] / lily / paper-score.cc
index ffad13c38b076c0b0b171f0abd24b096e1336f59..047e880f3c1fc085ce2899f1efd65c03fc842b51 100644 (file)
@@ -10,7 +10,6 @@
 
 #include "all-font-metrics.hh"
 #include "book.hh"
-#include "gourlay-breaking.hh"
 #include "international.hh"
 #include "main.hh"
 #include "misc.hh"
@@ -100,26 +99,16 @@ Paper_score::get_columns () const
 vector<Column_x_positions>
 Paper_score::calc_breaking ()
 {
-  Break_algorithm *algorithm = 0;
+  Constrained_breaking algorithm (this);
   vector<Column_x_positions> sol;
 
   message (_ ("Calculating line breaks...") + " ");
 
   int system_count = robust_scm2int (layout ()->c_variable ("system-count"), 0);
   if (system_count)
-    {
-      Constrained_breaking *b = new Constrained_breaking;
-      b->resize (system_count);
-      algorithm = b;
-    }
-  else
-    algorithm = new Gourlay_breaking;
-  
-  algorithm->set_pscore (this);
-  sol = algorithm->solve ();
-  delete algorithm;
-
-  return sol;
+    algorithm.resize (system_count);
+
+  return algorithm.solve ();
 }
 
 void
@@ -130,7 +119,7 @@ Paper_score::process ()
                 system_->element_count (),
                 system_->spanner_count ()));
 
-  message (_ ("Preprocessing graphical objects...") + " ");
+  message (_ ("Preprocessing graphical objects..."));
 
   /* FIXME: Check out why we need this - removing gives assertion failures
      down the road.