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)
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++)