int end = robust_scm2int (end_scm, INT_MAX);
Grob *me = unsmob_grob (smob);
+ /* Maybe we are in the second pass of a two-pass spacing run. In that
+ case, the Y-extent of a system is already given to us */
+ System *system = dynamic_cast<System*> (me);
+ if (system)
+ {
+ SCM line_break_details = system->column (start)->get_property ("line-break-system-details");
+ SCM system_y_extent = scm_assq (ly_symbol2scm ("system-Y-extent"), line_break_details);
+ if (scm_is_pair (system_y_extent))
+ return scm_cdr (system_y_extent);
+ }
+
return pure_group_height (me, start, end);
}