]> git.donarmstrong.com Git - lilypond.git/commitdiff
(Lyric_combine_music_iterator): small bugfix
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 8 Sep 2002 01:05:56 +0000 (01:05 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 8 Sep 2002 01:05:56 +0000 (01:05 +0000)
lily/grace-iterator.cc
lily/include/grace-iterator.hh
lily/lyric-combine-music-iterator.cc
lily/music-wrapper-iterator.cc

index 9bfa7b3c699a8b7561157a430c4836c19c7e4a0e..6668b66f4e9908b48f6c15b7ad9183598129cb01 100644 (file)
@@ -22,14 +22,6 @@ Grace_iterator::process (Moment m)
   Music_wrapper_iterator::process (main);
 }
 
-void
-Grace_iterator::construct_children ()
-{
-  Music_wrapper_iterator::construct_children ();
-}
-
-
-
 Moment
 Grace_iterator::pending_moment () const
 {
index f3d33131fbe9b14f233d237d62861fbc2f60d700..f758bbd6f8bed460d7737523e004cfb80ebd3770 100644 (file)
@@ -16,7 +16,6 @@ class Grace_iterator : public Music_wrapper_iterator
 {
 public:
   VIRTUAL_COPY_CONS (Music_iterator);
-  virtual void construct_children () ;
   virtual void process (Moment);
   DECLARE_SCHEME_CALLBACK(constructor, ());
   Moment pending_moment () const;
index f47a60cbb2fe34db1faf078c31dbbda607862f83..cd1b2042256d37fffd251246cdb7c843bf77f243 100644 (file)
@@ -56,7 +56,7 @@ void
 Lyric_combine_music_iterator::derived_mark()const
 {
   if (music_iter_)
-  scm_gc_mark (music_iter_->self_scm());
+    scm_gc_mark (music_iter_->self_scm());
   if (lyric_iter_)
     scm_gc_mark (lyric_iter_->self_scm());
 }
@@ -135,8 +135,10 @@ Lyric_combine_music_iterator::Lyric_combine_music_iterator (Lyric_combine_music_
   lyric_iter_ = src.lyric_iter_ ? src.lyric_iter_->clone () : 0;
   music_iter_ = src.music_iter_ ? src.music_iter_->clone () : 0;  
 
-  scm_gc_unprotect_object (music_iter_->self_scm());
-  scm_gc_unprotect_object (lyric_iter_->self_scm());
+  if (lyric_iter_)
+    scm_gc_unprotect_object (music_iter_->self_scm());
+  if (music_iter_)
+    scm_gc_unprotect_object (lyric_iter_->self_scm());
 }
 
 Music_iterator*
index e16787ac008748b5650a0fad00d9ab8a8121e0ea..e2c481ddf0957f00bf6480f0db53009ef7f999c8 100644 (file)
@@ -19,7 +19,7 @@ Music_wrapper_iterator::Music_wrapper_iterator (Music_wrapper_iterator const &sr
   : Music_iterator (src)
 {
   child_iter_ = (src.child_iter_) ? src.child_iter_->clone () : 0;
-  if (src.child_iter_)
+  if (child_iter_)
     scm_gc_unprotect_object (child_iter_->self_scm());
 }