]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/output-property-engraver.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / output-property-engraver.cc
index d3eeccedfccc5578563cad8cfcc5e0d918f10967..7f59d44430b7b433f17339c2fa2e70684e9848e4 100644 (file)
@@ -18,7 +18,7 @@ class Output_property_engraver : public Engraver
 {
   TRANSLATOR_DECLARATIONS (Output_property_engraver);
 protected:
-  Link_array<Music> props_;
+  vector<Music*> props_;
   DECLARE_ACKNOWLEDGER (grob)
 
   void stop_translation_timestep ();
@@ -31,8 +31,15 @@ Output_property_engraver::try_music (Music* m)
 {
   if (m->is_mus_type ("layout-instruction"))
     {
-      props_.push_back (m);
-      return true;
+      /*
+       UGH. Only swallow the output property event in the context
+       it was intended for. This is inelegant but not inefficient.
+      */
+      if (context ()->is_alias (m->get_property ("context-type")))
+        {
+          props_.push_back (m);
+          return true;
+        }
     }
   return false;
 }