--- /dev/null
+\version "2.15.35"
+
+\header {
+ texidoc = "Empty measures do not confuse @code{SpanBarStub}.
+These lyrics should remain clear of the span bars.
+"
+}
+
+\new StaffGroup <<
+ \new Staff { \repeat unfold 8 { R1 e'1 } }
+ \addlyrics {
+ Worked twice...
+ and then
+ I continued...
+ working... correctly.
+ }
+ \new Staff { R1*16 }
+>>
int pos[2] = { -1, 0};
for (vsize i = 0; i < pure_relevants_.size (); i++)
{
- if (pos[1] < (int) need_pure_heights_from_neighbors.size ()
- && (pure_relevants_[i]->spanned_rank_interval ()[LEFT]
- > need_pure_heights_from_neighbors[pos[1]][0]->spanned_rank_interval ()[LEFT]))
+ while (pos[1] < (int) need_pure_heights_from_neighbors.size ()
+ && (pure_relevants_[i]->spanned_rank_interval ()[LEFT]
+ > need_pure_heights_from_neighbors[pos[1]][0]->spanned_rank_interval ()[LEFT]))
{
pos[0] = pos[1];
pos[1]++;
(SpanBarStub
. (
(X-extent . ,grob::x-parent-width)
- (Y-extent . ,(ly:make-unpure-pure-container #f ly:axis-group-interface::pure-height))
+ (extra-spacing-height . ,pure-from-neighbor-interface::extra-spacing-height)
+ (Y-extent . #f)
(meta . ((class . Item)
(object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
(pure-relevant-grobs . ,ly:pure-from-neighbor-interface::calc-pure-relevant-grobs)))
(cons -0.1 0.1)))
(define-public (pure-from-neighbor-interface::extra-spacing-height grob)
- (let* ((height (ly:grob::stencil-height grob))
+ (let* ((height (ly:grob-pure-height grob grob 0 10000000))
(from-neighbors (interval-union
height
(ly:axis-group-interface::pure-height