On 14 March 2011 23:26, m...@apollinemike.com <m...@apollinemike.com> wrote:
> backtrace from valgrind, also after balloon.ly [snip] Interesting. I was on the right track, but it appears to be deleting something which has already been deleted: Audio_staff* Staff_performer::new_audio_staff (string voice) { Audio_staff* audio_staff = new Audio_staff; string track_name = context ()->id_string () + ":" + voice; if (track_name != ":") { name_ = new Audio_text (Audio_text::TRACK_NAME, context ()->id_string () + ":" + voice); audio_staff->add_audio_item (name_); } announce_element (Audio_element_info (audio_staff, 0)); announce_element (Audio_element_info (name_, 0)); In baerenreiter-sarabande.ly, there's an unnamed voice (I'm not sure where it is though :) which gets a track name of ":". Since the above code doesn't create a new name_, it's announced as the previous Audio_text. Thus there are two identical pointers added to Performance::audio_elements_, the second of which junk_pointers () attempts to delete after it's already gone. Cheers, Neil _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel