From b665c32c29795164184fe5ab90a1b2d14c3cc551 Mon Sep 17 00:00:00 2001 From: Joe Neeman Date: Wed, 9 Dec 2009 19:56:15 -0800 Subject: [PATCH] Ensure non-breakpoints are also non-turnpoints. --- lily/page-turn-page-breaking.cc | 12 +++++++++++- lily/paper-column-engraver.cc | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lily/page-turn-page-breaking.cc b/lily/page-turn-page-breaking.cc index 163cdd1fc0..c9029cf7b5 100644 --- a/lily/page-turn-page-breaking.cc +++ b/lily/page-turn-page-breaking.cc @@ -32,7 +32,17 @@ static bool is_break (Grob *g) { - return scm_is_symbol (g->get_property ("page-turn-permission")); + bool turnable = scm_is_symbol (g->get_property ("page-turn-permission")); + + if (turnable && + (!scm_is_symbol (g->get_property ("page-break-permission")) + || !scm_is_symbol (g->get_property ("line-break-permission")))) + { + programming_error ("found a page-turnable place which was not breakable"); + turnable = false; + } + + return turnable; } Page_turn_page_breaking::Page_turn_page_breaking (Paper_book *pb) diff --git a/lily/paper-column-engraver.cc b/lily/paper-column-engraver.cc index 0ee946131f..bce6febc43 100644 --- a/lily/paper-column-engraver.cc +++ b/lily/paper-column-engraver.cc @@ -223,6 +223,7 @@ Paper_column_engraver::stop_translation_timestep () if (to_boolean (get_property ("forbidBreak")) && breaks_) /* don't honour forbidBreak if it occurs on the first moment of a score */ { + command_column_->set_property ("page-turn-permission", SCM_EOL); command_column_->set_property ("page-break-permission", SCM_EOL); command_column_->set_property ("line-break-permission", SCM_EOL); for (vsize i = 0; i < break_events_.size (); i++) -- 2.39.5