CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/08/20 23:31:39

Modified files:
        .              : ChangeLog 
        lily           : engraver-group.cc performer-group.cc 

Log message:
        (do_announces): move recursion call out
        of while loop.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4047&tr2=1.4048&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/engraver-group.cc.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/performer-group.cc.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4047 lilypond/ChangeLog:1.4048
--- lilypond/ChangeLog:1.4047   Sat Aug 20 23:20:18 2005
+++ lilypond/ChangeLog  Sat Aug 20 23:31:39 2005
@@ -1,5 +1,8 @@
 2005-08-21  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * lily/engraver-group.cc (do_announces): move recursion call out
+       of while loop. 
+
        * lily/drum-note-performer.cc (class Drum_note_performer): use
        process_music everywhere.
 
Index: lilypond/lily/engraver-group.cc
diff -u lilypond/lily/engraver-group.cc:1.26 
lilypond/lily/engraver-group.cc:1.27
--- lilypond/lily/engraver-group.cc:1.26        Thu Aug 18 15:34:31 2005
+++ lilypond/lily/engraver-group.cc     Sat Aug 20 23:31:39 2005
@@ -93,19 +93,19 @@
 void
 Engraver_group::do_announces ()
 {
-  do
+  for (SCM s = context ()->children_contexts ();
+       scm_is_pair (s); s = scm_cdr (s))
     {
-      for (SCM s = context ()->children_contexts ();
-          scm_is_pair (s); s = scm_cdr (s))
-       {
-         Context *c = unsmob_context (scm_car (s));
-         Engraver_group *group
-           = dynamic_cast<Engraver_group *> (c->implementation ());
-         if (group)
-           group->do_announces ();
-       }
+      Context *c = unsmob_context (scm_car (s));
+      Engraver_group *group
+       = dynamic_cast<Engraver_group *> (c->implementation ());
+      if (group)
+       group->do_announces ();
+    }
 
-      while (1)
+ do
+    {
+       while (1)
        {
          precomputed_translator_foreach (PROCESS_ACKNOWLEDGED);
          if (announce_infos_.size () == 0)
Index: lilypond/lily/performer-group.cc
diff -u lilypond/lily/performer-group.cc:1.2 
lilypond/lily/performer-group.cc:1.3
--- lilypond/lily/performer-group.cc:1.2        Thu Aug 18 15:40:10 2005
+++ lilypond/lily/performer-group.cc    Sat Aug 20 23:31:39 2005
@@ -62,6 +62,16 @@
 void
 Performer_group::do_announces ()
 {
+  for (SCM s = context ()->children_contexts ();
+       scm_is_pair (s); s = scm_cdr (s))
+    {
+      Context *c = unsmob_context (scm_car (s));
+      Performer_group *group
+       = dynamic_cast<Performer_group *> (c->implementation ());
+      if (group)
+       group->do_announces ();
+    }
+
   while (1)
     {
       performer_each (get_simple_trans_list (),


_______________________________________________
Lilypond-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to