]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4997/5: Use Preinit in Engraver_group
authorDavid Kastrup <dak@gnu.org>
Sat, 4 Jun 2016 16:13:13 +0000 (18:13 +0200)
committerDavid Kastrup <dak@gnu.org>
Fri, 18 Nov 2016 20:49:58 +0000 (21:49 +0100)
lily/engraver-group.cc
lily/include/engraver-group.hh

index 35c14d460ddb3646cd3597048cd8f517b0c890fc..51af2d4afaac2f665bc29279d6c65601dc29d687 100644 (file)
@@ -204,12 +204,14 @@ Engraver_group::do_announces ()
   while (pending_grobs ());
 }
 
-Engraver_group::Engraver_group ()
+void
+Engraver_group::pre_init ()
 {
-  acknowledge_hash_table_drul_[LEFT]
-    = acknowledge_hash_table_drul_[RIGHT]
-      = SCM_EOL;
+  acknowledge_hash_table_drul_.set (SCM_EOL, SCM_EOL);
+}
 
+Engraver_group::Engraver_group ()
+{
   acknowledge_hash_table_drul_[LEFT] = scm_c_make_hash_table (61);
   acknowledge_hash_table_drul_[RIGHT] = scm_c_make_hash_table (61);
 }
index 39e52f3c522e7bca705164e6d65301da2504eed5..367b6a8f4cd244772c691d4d6e9dc762356a2474 100644 (file)
@@ -33,7 +33,7 @@ public:
   Direction start_end () const { return start_end_; }
 };
 
-class Engraver_group : public Translator_group
+class Engraver_group : public Preinit<Engraver_group>, public Translator_group
 {
 protected:
   vector<Announce_grob_info> announce_infos_;
@@ -42,6 +42,7 @@ protected:
   void revert (SCM);
 public:
   DECLARE_CLASSNAME (Engraver_group);
+  void pre_init ();
   Engraver_group ();
   virtual void derived_mark () const;
   void do_announces ();