From c7b08831c4b44762e96293fdf7b245ccb5c77f6f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Wed, 20 Dec 2006 23:58:09 +0100 Subject: [PATCH] robustness: survive \lyricsto argument without Lyrics context. Fixes #183 --- lily/lyric-combine-music-iterator.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lily/lyric-combine-music-iterator.cc b/lily/lyric-combine-music-iterator.cc index 6011ede3f2..85e72d3197 100644 --- a/lily/lyric-combine-music-iterator.cc +++ b/lily/lyric-combine-music-iterator.cc @@ -79,7 +79,8 @@ Lyric_combine_music_iterator::set_music_context (Context *to) if (to) { to->event_source()->add_listener (GET_LISTENER (set_busy), ly_symbol2scm ("music-event")); - lyrics_context_->set_property ("associatedVoiceContext", to->self_scm ()); + if (lyrics_context_) + lyrics_context_->set_property ("associatedVoiceContext", to->self_scm ()); } } @@ -158,6 +159,11 @@ Lyric_combine_music_iterator::construct_children () lyrics_context_ = find_context_below (lyric_iter_->get_outlet (), ly_symbol2scm ("Lyrics"), ""); + if (!lyrics_context_) + { + m->origin ()->warning ("argument of \\lyricsto should contain Lyrics context"); + } + lyricsto_voice_name_ = get_music ()->get_property ("associated-context"); Context *voice = find_voice (); @@ -169,7 +175,7 @@ Lyric_combine_music_iterator::construct_children () Wait for a Create_context event. If this isn't done, lyrics can be delayed when voices are created implicitly. */ - Global_context *g = lyrics_context_->get_global_context (); + Global_context *g = get_outlet ()->get_global_context (); g->events_below ()->add_listener (GET_LISTENER (check_new_context), ly_symbol2scm ("CreateContext")); } -- 2.39.2