]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/slur-engraver.cc
lilypond-book: Remove trailing path separators in include paths.
[lilypond.git] / lily / slur-engraver.cc
index e4962852888aa809b9875aea09109313f82105cd..fde4d9447def65123f93532dc8421a8420e9a634 100644 (file)
@@ -71,6 +71,7 @@ protected:
   void process_music ();
 
   virtual void finalize ();
+  virtual void derived_mark () const;
 
 public:
   TRANSLATOR_DECLARATIONS (Slur_engraver);
@@ -80,6 +81,15 @@ Slur_engraver::Slur_engraver ()
 {
 }
 
+void
+Slur_engraver::derived_mark () const
+{
+  for (vsize i=start_events_.size(); i--;)
+    scm_gc_mark (start_events_[i]->self_scm ());
+  for (vsize i=stop_events_.size(); i--;)
+    scm_gc_mark (stop_events_[i]->self_scm ());
+}
+
 IMPLEMENT_TRANSLATOR_LISTENER (Slur_engraver, slur);
 void
 Slur_engraver::listen_slur (Stream_event *ev)
@@ -166,6 +176,7 @@ Slur_engraver::finalize ()
       slurs_[i]->warning (_ ("unterminated slur"));
       slurs_[i]->suicide ();
     }
+  slurs_.clear ();
 }
 
 void