From: David Kastrup Date: Sat, 24 Oct 2015 11:18:50 +0000 (+0200) Subject: Fix GC catastrophe in Slur_proto_engraver::derived_mark X-Git-Tag: release/2.19.30-1~5^2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=b9422b927e1d00b114f2028d86a9b59a5cbf54ed;p=lilypond.git Fix GC catastrophe in Slur_proto_engraver::derived_mark In Slur_proto_engraver::Event_info, note_ will be 0 for slurs not attached to particular note events. Calling self_scm on it is likely to be a fatal error. --- diff --git a/lily/slur-proto-engraver.cc b/lily/slur-proto-engraver.cc index 5accd2c073..99e8e8ebfc 100644 --- a/lily/slur-proto-engraver.cc +++ b/lily/slur-proto-engraver.cc @@ -38,12 +38,14 @@ Slur_proto_engraver::derived_mark () const for (vsize i = start_events_.size (); i--;) { scm_gc_mark (start_events_[i].slur_->self_scm ()); - scm_gc_mark (start_events_[i].note_->self_scm ()); + if (start_events_[i].note_) + scm_gc_mark (start_events_[i].note_->self_scm ()); } for (vsize i = stop_events_.size (); i--;) { scm_gc_mark (stop_events_[i].slur_->self_scm ()); - scm_gc_mark (stop_events_[i].note_->self_scm ()); + if (stop_events_[i].note_) + scm_gc_mark (stop_events_[i].note_->self_scm ()); } }