]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/music-iterator.cc
Merge remote-tracking branch 'origin/translation'
[lilypond.git] / lily / music-iterator.cc
index c875b060a565b1db6cf9bd8d15ac43a17acee364..f6367db129620230d1d56be339a194a0a9f163d0 100644 (file)
@@ -207,8 +207,11 @@ Music_iterator::mark_smob (SCM smob)
     Careful with GC, although we intend the following as pointers
     only, we _must_ mark them.
   */
-  if (mus->get_outlet ())
-    scm_gc_mark (mus->get_outlet ()->self_scm ());
+  /* Use handle_ directly as get_outlet is a virtual function and we
+     need to protect the context until Music_iterator::quit is being
+     run. */
+  if (mus->handle_.get_context ())
+    scm_gc_mark (mus->handle_.get_context ()->self_scm ());
   if (mus->music_)
     scm_gc_mark (mus->music_->self_scm ());