- Spanner *orig = dynamic_cast<Spanner*> (spanner->original_);
-
- if (spanner->get_break_index () < orig->broken_intos_.size ()-1)
- {
- Spanner * next = orig->broken_intos_[spanner->get_break_index () + 1];
- SCM cols = next->get_property ("columns");
- if (ly_c_pair_p (cols))
- {
- Grob *next_commony = common_refpoint_of_list (cols, next, Y_AXIS);
- Grob * col = unsmob_grob (ly_car (scm_last_pair (cols)));
-
- Interval v = col->extent (next_commony, Y_AXIS);
- Real x = right_bound->relative_coordinate (commonx, X_AXIS) - left_coord;
-
- bottom_points.insert (Offset (x, v[DOWN]),0);
- top_points.insert (Offset (x, v[UP]),0);
- }
- }
+ extract_grob_set (next, "columns", next_cols);
+ if (next_cols.size () > 0)
+ {
+ Grob *next_commony = common_refpoint_of_array (next_cols, next, Y_AXIS);
+ Grob *col = next_cols[0];
+
+ Interval v = col->extent (next_commony, Y_AXIS);
+ Real x = right_bound->relative_coordinate (commonx, X_AXIS) - left_coord;
+
+ bottom_points.push_back (Offset (x, v[DOWN]));
+ top_points.push_back (Offset (x, v[UP]));
+ }