Freeze the audio playlist after completing the set_state on the parent playlist (rather than before) so that the playlist state gets flushed before we start creating crossfades. Otherwise in some cases expected RegionViews won't exist for crossfades when they are created.

git-svn-id: svn://localhost/ardour2/branches/3.0@5586 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-08-24 22:01:26 +00:00
parent 32dd2a43d8
commit 42dccb2a65

View File

@ -539,7 +539,6 @@ void AudioPlaylist::notify_crossfade_added (boost::shared_ptr<Crossfade> x)
if (g_atomic_int_get(&block_notifications)) {
_pending_xfade_adds.insert (_pending_xfade_adds.end(), x);
} else {
NewCrossfade (x); /* EMIT SIGNAL */
}
}
@ -566,10 +565,11 @@ AudioPlaylist::set_state (const XMLNode& node)
XMLNodeConstIterator niter;
in_set_state++;
freeze ();
Playlist::set_state (node);
freeze ();
nlist = node.children();
for (niter = nlist.begin(); niter != nlist.end(); ++niter) {