This avoids continued use of an associated Voice context that is no
longer associated with any iterators.
bool
Lyric_combine_music_iterator::ok () const
{
- return lyric_iter_ && lyric_iter_->ok ();
+ return lyric_iter_ && lyric_iter_->ok ()
+ && !(music_context_ && music_context_->is_removable ());
}
void
SCM avc = lyrics->get_property ("associatedVoiceContext");
if (Context *c = unsmob<Context> (avc))
- return c;
+ {
+ if (!c->is_removable ())
+ return c;
+ }
SCM voice_name = lyrics->get_property ("associatedVoice");
string nm = lyrics->id_string ();