]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/page-turn-page-breaking.cc
Merge branch 'master' into lilypond/translation
[lilypond.git] / lily / page-turn-page-breaking.cc
index 281a7056e0e4de91876f0fc12ae1990b464da773..e57c0cbf2f2c895701d44a8e95d871723aa28901 100644 (file)
@@ -29,8 +29,9 @@
 #include "system.hh"
 #include "warn.hh"
 
+template<typename T>
 static bool
-is_break (Grob *g)
+is_break (T *g)
 {
   bool turnable = scm_is_symbol (g->get_property ("page-turn-permission"));
 
@@ -46,7 +47,7 @@ is_break (Grob *g)
 }
 
 Page_turn_page_breaking::Page_turn_page_breaking (Paper_book *pb)
-  : Page_breaking (pb, is_break)
+  : Page_breaking (pb, is_break<Grob>, is_break<Prob>)
 {
 }
 
@@ -213,8 +214,8 @@ Page_turn_page_breaking::calc_subproblem (vsize ending_breakpoint)
       if (start == 0 && end == 1
          && this_start_best.first_page_number_ == 1
          && this_start_best.page_count_ > 1)
-       warning (_ ("cannot fit the first page turn onto a single page.  "
-                   "Consider setting first-page-number to an even number."));
+       warning (_ ("cannot fit the first page turn onto a single page."
+                   "  Consider setting first-page-number to an even number."));
 
       if (this_start_best.demerits_ < best.demerits_)
        best = this_start_best;
@@ -268,6 +269,9 @@ Page_turn_page_breaking::make_lines (vector<Break_node> *psoln)
 SCM
 Page_turn_page_breaking::make_pages (vector<Break_node> const &soln, SCM systems)
 {
+  if (scm_is_null (systems))
+    return SCM_EOL;
+
   vector<vsize> lines_per_page;
   for (vsize i = 0; i < soln.size (); i++)
     {