- if (!finished_line_spanner_->get_bound (RIGHT)
- && finished_line_spanner_->get_bound (LEFT))
- finished_line_spanner_->set_bound (RIGHT, finished_line_spanner_->get_bound (LEFT));
-
- typeset_grob (finished_line_spanner_);
+ Grob * l = finished_line_spanner_->get_bound (LEFT);
+ Grob * r = finished_line_spanner_->get_bound (RIGHT);
+ if (!r && l)
+ finished_line_spanner_->set_bound (RIGHT, l);
+ else if (!l && r)
+ finished_line_spanner_->set_bound (LEFT, r);
+ else if (!r && !l)
+ {
+ /*
+ This is a isolated dynamic apparently, and does not even have
+ any interesting support item.
+ */
+ Grob * cc = unsmob_grob (get_property ("currentMusicalColumn"));
+ Item * ci = dynamic_cast<Item*>(cc);
+ finished_line_spanner_->set_bound (RIGHT, ci);
+ finished_line_spanner_->set_bound (LEFT, ci);
+ }
+