X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fengraver.cc;h=7724b1c395a5c68ec5b19398ce08b8bedf2d0cb4;hb=8574d4349026c4ac5a15a27c50e264bf548e29fb;hp=c749be110a169b2319d68059070dbb7f5f2bf1de;hpb=fcc5f76615e024803904a055902fdc6a3b24dccb;p=lilypond.git diff --git a/lily/engraver.cc b/lily/engraver.cc index c749be110a..7724b1c395 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -3,7 +3,7 @@ Sourcefile of GNU LilyPond music type setter - (c) 1997--2007 Han-Wen Nienhuys + (c) 1997--2009 Han-Wen Nienhuys */ #include "engraver.hh" @@ -70,7 +70,8 @@ Engraver::announce_end_grob (Grob *e, SCM cause) { cause = m->to_event ()->unprotect (); } - if (unsmob_stream_event (cause) || unsmob_grob (cause)) + if (e->get_property ("cause") == SCM_EOL + && (unsmob_stream_event (cause) || unsmob_grob (cause))) e->set_property ("cause", cause); Grob_info i (this, e); @@ -105,13 +106,19 @@ LY_DEFINE (ly_set_grob_creation_callback, "ly:set-grob-creation-callback", #endif Grob * -Engraver::internal_make_grob (SCM symbol, SCM cause, char const *name, char const *file, int line, char const *fun) +Engraver::internal_make_grob (SCM symbol, + SCM cause, + char const * /* name */, + char const *file, + int line, + char const *fun) { - (void) file; - (void) fun; - (void) line; - (void) name; - +#ifdef NDEBUG + (void)file; + (void)line; + (void)fun; +#endif + SCM props = updated_grob_properties (context (), symbol); Grob *grob = 0;