X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstaff-collecting-engraver.cc;h=95e9b1c30530252c27e93f662d6761b9b2e9465e;hb=7697100194a647d04667946bcd0ba35c0554aac0;hp=fe522a049747284eb8efd91dbf59442173a5e533;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/staff-collecting-engraver.cc b/lily/staff-collecting-engraver.cc index fe522a0497..95e9b1c305 100644 --- a/lily/staff-collecting-engraver.cc +++ b/lily/staff-collecting-engraver.cc @@ -16,6 +16,7 @@ class Staff_collecting_engraver : public Engraver public: TRANSLATOR_DECLARATIONS (Staff_collecting_engraver); DECLARE_ACKNOWLEDGER (staff_symbol); + DECLARE_END_ACKNOWLEDGER (staff_symbol); }; Staff_collecting_engraver::Staff_collecting_engraver () @@ -31,8 +32,18 @@ Staff_collecting_engraver::acknowledge_staff_symbol (Grob_info gi) context ()->set_property ("stavesFound", staffs); } +void +Staff_collecting_engraver::acknowledge_end_staff_symbol (Grob_info gi) +{ + SCM staffs = get_property ("stavesFound"); + staffs = scm_delq (gi.grob ()->self_scm (), staffs); + + context ()->set_property ("stavesFound", staffs); +} + #include "translator.icc" ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol); +ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol); ADD_TRANSLATOR (Staff_collecting_engraver, /* doc */ "Maintain the stavesFound variable",