--- /dev/null
+
+\header {
+ texidoc = "Beams over skips do not cause a segfault."
+}
+
+\version "2.15.3"
+
+\layout { ragged-right = ##t }
+
+music = {
+ \clef bass r2 r4 r8 f,
+ r2 r4 g,8 r
+ r4 f, 8 r8 r2
+}
+
+beams = {
+ \repeat "unfold" 24 { s8[ s ] s[ s]}
+}
+
+\new Staff {
+ \context Voice << { \beams } { \music}>>
+}
Spanner *me = unsmob_spanner (grob);
Grob *commonx = 0;
vector<Beam_segment> segments = get_beam_segments (me, &commonx);
+ if (!segments.size ())
+ return SCM_EOL;
Interval span;
if (normal_stem_count (me))
}
Direction dir = get_grob_direction (me);
- Real y = head_positions[dir]
+
+ if (!dir)
+ programming_error ("The beam should have a direction by now.");
+
+ Real y = head_positions.linear_combination (dir)
* 0.5 * Staff_symbol_referencer::staff_space (me)
+ dir * get_beam_translation (me) * (multiplicity.length () + 1);