bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue 1440 in lilypond: \book(part) containing page-marker as only e


From: lilypond
Subject: Re: Issue 1440 in lilypond: \book(part) containing page-marker as only element segfaults
Date: Wed, 08 Dec 2010 00:51:45 +0000


Comment #1 on issue 1440 by n.puttock: \book(part) containing page-marker as only element segfaults
http://code.google.com/p/lilypond/issues/detail?id=1440

The following patch seems to work:

diff --git a/lily/constrained-breaking.cc b/lily/constrained-breaking.cc
index 29c00e1..a2f61ef 100644
--- a/lily/constrained-breaking.cc
+++ b/lily/constrained-breaking.cc
@@ -535,6 +535,8 @@ Constrained_breaking::combine_demerits (Real force, Real prev_force)

 Line_details::Line_details (Prob *pb, Output_def *paper)
 {
+  if (!pb)
+    return;
   SCM spec = paper->c_variable ("markup-system-spacing");
   SCM title_spec = paper->c_variable ("markup-markup-spacing");
   padding_ = 0;
diff --git a/lily/page-breaking.cc b/lily/page-breaking.cc
index f3b1f84..b7e224c 100644
--- a/lily/page-breaking.cc
+++ b/lily/page-breaking.cc
@@ -343,9 +343,8 @@ Page_breaking::systems ()
            ->get_broken_system_grobs ();
          ret = scm_cons (lines, ret);
        }
-      else
+      else if (Prob *pb = system_specs_[sys].prob_)
        {
-         Prob *pb = system_specs_[sys].prob_;
          ret = scm_cons (scm_list_1 (pb->self_scm ()), ret);
          pb->unprotect ();
        }
@@ -554,6 +553,8 @@ Page_breaking::create_system_list ()
           system_specs_.push_back (System_spec (pb));
         }
     }
+  if (!system_specs_.size ())
+    system_specs_.push_back (System_spec ());
 }

 void




reply via email to

[Prev in Thread] Current Thread [Next in Thread]