- /*
- Handle suicide.
- */
- if (p->finished_line_spanner_
- && !p->finished_line_spanner_->live ())
- p->finished_line_spanner_ = 0;
- if (p->finished_bracket_
- && !p->finished_bracket_->live())
- p->finished_bracket_ = 0;
-
-
- if (p->name_ == String ("Sustain"))
- sustain = p->item_;
-
- if (p->item_)
- {
- /*
- Hmm.
- */
- if (p->name_ != String ("Sustain"))
- {
- if (sustain)
- {
- Side_position_interface::add_support (p->item_,sustain);
- }
- }
- typeset_grob (p->item_);
- p->item_ = 0;
- }
-
- if (p->finished_bracket_)
- {
- Grob * l = p->finished_bracket_->get_bound (LEFT);
- Grob * r = p->finished_bracket_->get_bound (RIGHT);
- if (!r)
- {
- p->finished_bracket_->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn")));
- }
-
- typeset_grob (p->finished_bracket_);
- p->finished_bracket_ =0;
- }
-
- if (p->finished_line_spanner_)
- {
- Side_position_interface::add_staff_support (p->finished_line_spanner_);
- Grob * l = p->finished_line_spanner_->get_bound (LEFT);
- Grob * r = p->finished_line_spanner_->get_bound (RIGHT);
- if (!r && l)
- p->finished_line_spanner_->set_bound (RIGHT, l);
- else if (!l && r)
- p->finished_line_spanner_->set_bound (LEFT, r);
- else if (!r && !l)
- {
- Grob * cc = unsmob_grob (get_property ("currentMusicalColumn"));
- Item * ci = dynamic_cast<Item*> (cc);
- p->finished_line_spanner_->set_bound (RIGHT, ci);
- p->finished_line_spanner_->set_bound (LEFT, ci);
- }
- typeset_grob (p->finished_line_spanner_);
- p->finished_line_spanner_ = 0;
- }