]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/note-spacing-engraver.cc
Issue 4910/1: Fix memory leak in ly:spawn ()
[lilypond.git] / lily / note-spacing-engraver.cc
index 1838b0e4b33ac8c2237f92f8dc39fd4e4241c49f..414e1ee7610cee80c76e1ead38768c21e9fbd5cb 100644 (file)
@@ -28,8 +28,6 @@
 
 #include "translator.icc"
 
-using std::map;
-
 class Note_spacing_engraver : public Engraver
 {
   typedef map <Context *, Grob *> Last_spacing_map;
@@ -42,8 +40,8 @@ class Note_spacing_engraver : public Engraver
   TRANSLATOR_DECLARATIONS (Note_spacing_engraver);
 protected:
 
-  DECLARE_ACKNOWLEDGER (rhythmic_grob);
-  DECLARE_ACKNOWLEDGER (note_column);
+  void acknowledge_rhythmic_grob (Grob_info);
+  void acknowledge_note_column (Grob_info);
   void stop_translation_timestep ();
   virtual void finalize ();
   virtual void derived_mark () const;
@@ -137,8 +135,13 @@ Note_spacing_engraver::stop_translation_timestep ()
 
 }
 
-ADD_ACKNOWLEDGER (Note_spacing_engraver, note_column);
-ADD_ACKNOWLEDGER (Note_spacing_engraver, rhythmic_grob);
+
+void
+Note_spacing_engraver::boot ()
+{
+  ADD_ACKNOWLEDGER (Note_spacing_engraver, note_column);
+  ADD_ACKNOWLEDGER (Note_spacing_engraver, rhythmic_grob);
+}
 
 ADD_TRANSLATOR (Note_spacing_engraver,
                 /* doc */