]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/register-group.cc
release: 0.0.57
[lilypond.git] / lily / register-group.cc
index 611ac59b75f40f998cec985f308faefc5aa7b1fa..2180a1bf15f1aa0fa91e35fd987bf0de3718bd8c 100644 (file)
@@ -24,23 +24,34 @@ Register_group_register::acceptable_request_b(Request* r)const
 void
 Register_group_register::set_feature(Feature d)
 {
-    for (iter_top(reg_list_, i); i.ok(); i++) {
-       i->set_feature(d);
+    iter_top(reg_list_, i);
+    while (i.ok()) {
+       // this construction to ensure clean deletion
+       Request_register *reg_l = i++; 
+       reg_l->set_feature(d);
     }
 }
 
 void
 Register_group_register::pre_move_processing()
 {
-    for (iter_top(reg_list_, i); i.ok(); i++) 
-       i->pre_move_processing();
+    iter_top(reg_list_, i);
+    while (i.ok()) {
+       // this construction to ensure clean deletion
+       Request_register *reg_l = i++; 
+       reg_l->pre_move_processing();
+    }
 }
 
 void
 Register_group_register::process_requests()
 {
-    for (iter_top(reg_list_, i); i.ok(); i++) 
-       i->process_requests();
+    iter_top(reg_list_, i);
+    while (i.ok()) {
+       // this construction to ensure clean deletion
+       Request_register *reg_l = i++; 
+       reg_l->process_requests();
+    }
 }
 
 void