From a9ae47eff7ae40f476c9b0884d9c59e42ad53510 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 25 Jul 2002 09:26:10 +0000 Subject: [PATCH] * lily/grob-scheme.cc (ly_get_parent): Don't dereference null parent. (Han-Wen) * input/test/move-accidentals.ly: New file. (Han-Wen) --- ChangeLog | 7 +++++++ input/test/move-accidentals.ly | 37 ++++++++++++++++++++++++++++++++++ lily/grob-scheme.cc | 3 ++- 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 input/test/move-accidentals.ly diff --git a/ChangeLog b/ChangeLog index 0451f29dca..ae501af070 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2002-07-25 Jan Nieuwenhuizen + + * lily/grob-scheme.cc (ly_get_parent): Don't dereference null + parent. (Han-Wen) + + * input/test/move-accidentals.ly: New file. (Han-Wen) + 2002-07-25 Han-Wen * lily/slur.cc (get_first_notecolumn_y): robustness: don't crash diff --git a/input/test/move-accidentals.ly b/input/test/move-accidentals.ly new file mode 100644 index 0000000000..ee2133bed2 --- /dev/null +++ b/input/test/move-accidentals.ly @@ -0,0 +1,37 @@ +\header { + + texidoc= "Positions of accidentals may be manually set. This +involves some scheme code." + +} +#(define (make-acc-position-checker pos) + (lambda (elt) + (and + (not (eq? #f (memq 'accidental-interface + (ly-get-grob-property elt 'interfaces)))) + (eq? (ly-get-grob-property + (ly-get-parent elt 1) 'staff-position) pos)))) + +\score { + \context Voice \notes \relative c'' { + c2. + < +\property Staff.AccidentalPlacement = \turnOff +\context Staff \outputproperty #(make-acc-position-checker 9) + #'extra-offset = #'(-1 . 0) +\context Staff \outputproperty #(make-acc-position-checker 5) + #'extra-offset = #'(-2 . 0) +\context Staff \outputproperty #(make-acc-position-checker 3) + #'extra-offset = #'(-3 . 0) +\context Staff \outputproperty #(make-acc-position-checker 2) + #'extra-offset = #'(-4 . 0) + d!4 + eis + gis + d'! + > + } + \paper { + linewidth = -1 + } +} diff --git a/lily/grob-scheme.cc b/lily/grob-scheme.cc index a7df394d32..6d1c8b771b 100644 --- a/lily/grob-scheme.cc +++ b/lily/grob-scheme.cc @@ -99,6 +99,7 @@ for the Y-axis.") SCM_ASSERT_TYPE(sc, grob, SCM_ARG1, __FUNCTION__, "grob"); SCM_ASSERT_TYPE(ly_axis_p(axis), axis, SCM_ARG2, __FUNCTION__, "axis"); - return sc->get_parent (Axis (gh_scm2int (axis)))->self_scm(); + Grob * par = sc->get_parent (Axis (gh_scm2int (axis))); + return par ? par->self_scm() : SCM_EOL; } -- 2.39.5