X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsystem.cc;h=0551b85cbccda5286e770fdc238722edda48aec7;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=c613cccf75cc2e8f83081fb2cd5e2fcbf28f5c9f;hpb=f127e14af04f474d20406ca0e0f76f05061ee103;p=lilypond.git diff --git a/lily/system.cc b/lily/system.cc index c613cccf75..0551b85cbc 100644 --- a/lily/system.cc +++ b/lily/system.cc @@ -42,8 +42,6 @@ #include "unpure-pure-container.hh" #include "lily-imports.hh" -using std::vector; - System::System (System const &src) : Spanner (src) { @@ -108,16 +106,9 @@ System::typeset_grob (Grob *elem) void System::derived_mark () const { - if (!all_elements_->empty ()) - { - Grob **ptr = &all_elements_->array_reference ()[0]; - Grob **end = ptr + all_elements_->size (); - while (ptr < end) - { - scm_gc_mark ((*ptr)->self_scm ()); - ptr++; - } - } + const vector &arr = all_elements_->array (); + for (vsize i = arr.size (); i--;) + scm_gc_mark (arr[i]->self_scm ()); if (pscore_) scm_gc_mark (pscore_->self_scm ());