void
Bar_engraver::stop_translation_timestep ()
{
- if (!bar_)
+ if (!bar_ && now_mom () != Moment (Rational (0), Rational (0)))
context ()->get_score_context ()->set_property ("forbidBreak", SCM_BOOL_T);
else
typeset_bar ();
if (command_column_)
{
- command_column_->set_property ("line-break-permission", ly_symbol2scm ("allow"));
- command_column_->set_property ("page-turn-permission", ly_symbol2scm ("allow"));
+ if (!scm_is_symbol (command_column_->get_property ("line-break-permission")))
+ command_column_->set_property ("line-break-permission", ly_symbol2scm ("allow"));
system_->set_bound (RIGHT, command_column_);
}
}
message (_ ("Preprocessing graphical objects..."));
- /* FIXME: Check out why we need this - removing gives assertion failures
- down the road.
-
- doubly, also done in Score_engraver */
- vector<Grob*> pc (system_->used_columns ());
- pc[0]->set_property ("line-break-permission", ly_symbol2scm ("allow"));
- pc.back ()->set_property ("line-break-permission", ly_symbol2scm ("allow"));
-
system_->pre_processing ();
}