]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/request-chord-iterator.cc
release: 1.3.92
[lilypond.git] / lily / request-chord-iterator.cc
index f463190a342dc3223c4939a5cdf54c902aba8516..aaeeeecac7bcb5427fad13d5c56aa341d839d8e3 100644 (file)
@@ -45,12 +45,11 @@ Request_chord_iterator::elt_l () const
   return (Request_chord*) music_l_;
 }
 
-
 SCM
-Request_chord_iterator::get_music (Moment)const
+Request_chord_iterator::get_music (Moment) const
 {
   SCM s = SCM_EOL;
-  if (music_l_)
+  if (last_processed_mom_ < Moment (0))
     {
       Music_sequence * ms = dynamic_cast<Music_sequence*> (music_l_);
      
@@ -65,8 +64,7 @@ Request_chord_iterator::get_music (Moment)const
 void
 Request_chord_iterator::process (Moment m)
 {
-  last_processed_mom_ = m;
-  if (music_l_)
+  if (last_processed_mom_ < Moment (0))
     {
       for (SCM s = dynamic_cast<Music_sequence *> (music_l_)->music_list ();
           gh_pair_p (s);  s = gh_cdr (s))
@@ -83,7 +81,6 @@ Request_chord_iterator::process (Moment m)
            mus->origin ()->warning (_f ("Huh?  Not a Request: `%s'",
                                         classname (mus)));
        }
-
-     music_l_ =0;
     }
+  skip (m);
 }