- if (!to_boolean (me->get_property ("transparent")))
- {
- me->warning ("no heads for arpeggio found?");
- me->suicide ();
- }
- return SCM_EOL;
+ if (to_boolean (me->get_property ("transparent")))
+ {
+ /*
+ This is part of a cross-staff/-voice span-arpeggio,
+ so we need to ensure `heads' is large enough to encompass
+ a single trill-element since the span-arpeggio depends on
+ its children to prevent collisions.
+ */
+ heads.unite (get_squiggle (me).extent (Y_AXIS));
+ }
+ else
+ {
+ me->warning ("no heads for arpeggio found?");
+ me->suicide ();
+ return SCM_EOL;
+ }