- if (last_note_spacing_)
- last_note_spacing_->set_grob_property ("right-item",
- break_malt_p_->self_scm ());
+ if (to_boolean (get_property ("createSpacing"))
+ && p_ref_ == break_item_)
+ {
+ Item *it = make_item ("StaffSpacing", SCM_EOL);
+ current_spacings_.staff_spacing_ = it;
+ it->set_property ("left-items", scm_cons (break_item_->self_scm (), SCM_EOL));
+
+ if (int i = last_spacings_.note_spacings_.size ())
+ {
+ for (; i--;)
+ Pointer_group_interface::add_grob (last_spacings_.note_spacings_[i],
+ ly_symbol2scm ("right-items"),
+ break_item_);
+ }
+ else if (last_spacings_.staff_spacing_)
+ {
+ last_spacings_.staff_spacing_->set_property ("right-items",
+ scm_cons (break_item_->self_scm (), SCM_EOL));
+ }