]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/lyric-combine-music-iterator.cc
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 2 Oct 2003 15:29:25 +0000 (15:29 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 2 Oct 2003 15:29:25 +0000 (15:29 +0000)
(Lyric_combine_music_iterator): change init order, to prevent GC
segfaults.

* lily/context-specced-music-iterator.cc (construct_children):
only change  translator if found. This fixes a core dump problem.

ChangeLog
lily/context-specced-music-iterator.cc
lily/lyric-combine-music-iterator.cc

index d5526e218ee353794a44a14aca30c90e8d23c66f..b5b0821174a3ec3e7f62d84a9748466317fa4353 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-10-02  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * lily/lyric-combine-music-iterator.cc
+       (Lyric_combine_music_iterator): change init order, to prevent GC
+       segfaults.
+
+       * lily/context-specced-music-iterator.cc (construct_children): 
+       only change  translator if found. This fixes a core dump problem.
+
 2003-10-01  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * buildscripts/install-info-html.sh: Use Bash.
index a5b808a9ba0c0b62b50e7b3f9871a1c8e60d76a3..651ad75418254de909ffe64375ed0333d6b5a310 100644 (file)
@@ -31,8 +31,8 @@ Context_specced_music_iterator::construct_children ()
   
   Translator_group* a
     =report_to ()->find_create_translator (ct, c_id);
-  
-  set_translator (a);
+  if (a)
+    set_translator (a);
 
   Music_wrapper_iterator::construct_children();
 }
index 2e9a870ba1d96dbffb451520f3a39c60a3556c54..2390ac6dd5be7f49be4f8778d0ce1c06adf1c99d 100644 (file)
@@ -49,6 +49,9 @@ Music *melisma_playing_req;
 
 Lyric_combine_music_iterator::Lyric_combine_music_iterator ()
 {
+  music_iter_ =0;
+  lyric_iter_ =0;
+
   if (!busy_req)
     {
       busy_req
@@ -56,9 +59,6 @@ Lyric_combine_music_iterator::Lyric_combine_music_iterator ()
       melisma_playing_req
        = make_music_by_name (ly_symbol2scm ("MelismaPlayingEvent"));
     }
-  
-  music_iter_ =0;
-  lyric_iter_ =0;
 }
 
 Moment