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
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond