source file of the GNU LilyPond music typesetter
- (c) 2000--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2000--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
{
TRANSLATOR_DECLARATIONS (Output_property_engraver);
protected:
- Link_array<Music> props_;
+ vector<Music*> props_;
DECLARE_ACKNOWLEDGER (grob)
void stop_translation_timestep ();
{
if (m->is_mus_type ("layout-instruction"))
{
- props_.push (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;
}
void
Output_property_engraver::acknowledge_grob (Grob_info inf)
{
- for (int i = props_.size (); i--;)
+ for (vsize i = props_.size (); i--;)
{
Music *o = props_[i];
Context *d = inf.context ();