]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/engraver.cc
Fix LyricText alignment when ignoreMelismata = ##t.
[lilypond.git] / lily / engraver.cc
index c749be110a169b2319d68059070dbb7f5f2bf1de..7724b1c395a5c68ec5b19398ce08b8bedf2d0cb4 100644 (file)
@@ -3,7 +3,7 @@
 
   Sourcefile of GNU LilyPond music type setter
 
-  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #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;