- Grob *align = Pointer_group_interface::find_grob (me, ly_symbol2scm ("elements"),
- Break_alignment_interface::has_interface);
+ Grob *align = 0;
+ if (align_sym == ly_symbol2scm ("staff-bar")
+ || align_sym == ly_symbol2scm ("break-alignment"))
+ align
+ = Pointer_group_interface::find_grob (me, ly_symbol2scm ("elements"),
+ (align_sym == ly_symbol2scm ("staff-bar")
+ ? Bar_line::non_empty_barline
+ : Break_alignment_interface::has_interface));
+ else
+ {
+ extract_grob_set (me, "elements", elts);
+ for (vsize i = 0; i < elts.size (); i++)
+ {
+ if (elts[i]->get_property ("break-align-symbol") == align_sym)
+ {
+ align = elts[i];
+ break;
+ }
+ }
+ }
+