/* trigger the callback to do skyline-spacing on the children */
if (a == Y_AXIS)
for (vsize i = 0; i < elts.size (); i++)
- (void) elts[i]->get_property ("vertical-skylines");
+ if (!(Stem::has_interface (elts[i])
+ && to_boolean (elts[i]->get_property ("cross-staff"))))
+ (void) elts[i]->get_property ("vertical-skylines");
Grob *common = common_refpoint_of_array (elts, me, a);
Grob *me = unsmob_grob (smob);
int beg = robust_scm2int (begscm, 0);
int end = robust_scm2int (endscm, INT_MAX);
- // We cannot measure the width of a spanner before line breaking,
- // so we assume that the width is infinite.
- return maybe_pure_internal_simple_skylines_from_extents (me, X_AXIS, true, beg, end, dynamic_cast<Spanner *> (me), false);
+ // We cannot measure the widths before line breaking,
+ // so we assume that the width is infinite: pass ignore_x=true
+ return maybe_pure_internal_simple_skylines_from_extents (me, X_AXIS, true, beg, end, true, false);
}
MAKE_SCHEME_CALLBACK (Grob, simple_vertical_skylines_from_extents, 1);