- if (!finished_line_spanner_->get_bound (RIGHT))
- 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);
+ }
+