]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/slur-engraver.cc
new function Ties_configuration::complete_score_card()
[lilypond.git] / lily / slur-engraver.cc
index db363f5773c4511b204e4e7da8e6d26cffd64a02..8f7a7525486fb851ca54a34d0b6809d5b5019b28 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "engraver.hh"
@@ -80,7 +80,8 @@ Slur_engraver::listen_slur (Stream_event *ev)
     ASSIGN_EVENT_ONCE (events_[START], ev);
   else if (d == STOP)
     ASSIGN_EVENT_ONCE (events_[STOP], ev);
-  else ev->origin ()->warning (_ ("Invalid direction of slur-event"));
+  else ev->origin ()->warning (_f ("direction of %s invalid: %d",
+                                  "slur-event", int (d)));
 }
 
 void
@@ -208,7 +209,12 @@ Slur_engraver::stop_translation_timestep ()
   
   
   for (vsize i = 0; i < end_slurs_.size (); i++)
-    announce_end_grob (end_slurs_[i], SCM_EOL);
+    {
+      Spanner * s = dynamic_cast<Spanner*> (end_slurs_[i]);
+      if (!s->get_bound (RIGHT))
+       s->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn")));
+      announce_end_grob (s, SCM_EOL);
+    }
   end_slurs_.clear ();
   events_[START] = events_[STOP] = 0;
 }