From: Han-Wen Nienhuys Date: Sun, 8 Sep 2002 01:05:56 +0000 (+0000) Subject: (Lyric_combine_music_iterator): small bugfix X-Git-Tag: release/1.6.3~33 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=425c56a9c40ed7e14ce80ab1d9cdf7829e3db0d4;p=lilypond.git (Lyric_combine_music_iterator): small bugfix --- diff --git a/lily/grace-iterator.cc b/lily/grace-iterator.cc index 9bfa7b3c69..6668b66f4e 100644 --- a/lily/grace-iterator.cc +++ b/lily/grace-iterator.cc @@ -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 { diff --git a/lily/include/grace-iterator.hh b/lily/include/grace-iterator.hh index f3d33131fb..f758bbd6f8 100644 --- a/lily/include/grace-iterator.hh +++ b/lily/include/grace-iterator.hh @@ -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; diff --git a/lily/lyric-combine-music-iterator.cc b/lily/lyric-combine-music-iterator.cc index f47a60cbb2..cd1b204225 100644 --- a/lily/lyric-combine-music-iterator.cc +++ b/lily/lyric-combine-music-iterator.cc @@ -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* diff --git a/lily/music-wrapper-iterator.cc b/lily/music-wrapper-iterator.cc index e16787ac00..e2c481ddf0 100644 --- a/lily/music-wrapper-iterator.cc +++ b/lily/music-wrapper-iterator.cc @@ -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()); }