From: Han-Wen Nienhuys Date: Sat, 23 Jun 2007 20:45:16 +0000 (-0300) Subject: Fix #383. X-Git-Tag: release/2.11.28-1~21^2~46^2~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=e09ef36b34c8462a7ec3948df31b056d2c695a4c;p=lilypond.git Fix #383. Checks for stem == NULL. --- diff --git a/input/regression/tuplet-no-stems.ly b/input/regression/tuplet-no-stems.ly new file mode 100644 index 0000000000..c15a3b2cf0 --- /dev/null +++ b/input/regression/tuplet-no-stems.ly @@ -0,0 +1,28 @@ +\header{ + texidoc = "Removing Stem_engraver doesn't cause crashes." +} + + +\version "2.10.27" + +\layout{ + \context{ + \TabStaff + \override TimeSignature #'stencil = ##f + } + \context{ + \TabVoice + \remove Beam_engraver + \remove Stem_engraver + \override TupletBracket #'number-visibility = ##f + } +} + +partition = { + \times 2/3 { f8 g a } +} + + +\new TabStaff { + \partition +} diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index 06411f72f2..b27c783208 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -91,8 +91,10 @@ Tuplet_bracket::parallel_beam (Grob *me_grob, vector const &cols, Drul_array stems (Note_column::get_stem (cols[0]), Note_column::get_stem (cols.back ())); - if (dynamic_cast (stems[RIGHT])->get_column () - != me->get_bound (RIGHT)->get_column ()) + if (!stems[RIGHT] + || !stems[LEFT] + || (dynamic_cast (stems[RIGHT])->get_column () + != me->get_bound (RIGHT)->get_column ())) return 0; Drul_array beams; @@ -759,6 +761,9 @@ Tuplet_bracket::calc_cross_staff (SCM smob) for (vsize i = 0; i < cols.size (); i++) { Grob *stem = unsmob_grob (cols[i]->get_object ("stem")); + if (!stem) + continue; + if (to_boolean (stem->get_property ("cross-staff"))) return SCM_BOOL_T;