stop crash occuring when carrying out playlist partitions in empty playlists

git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3176 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2008-03-24 18:38:09 +00:00
parent e1fb0e58c3
commit 7e14351aee
2 changed files with 13 additions and 4 deletions

View file

@ -324,6 +324,9 @@ AudioRegion::~AudioRegion ()
for (SourceList::const_iterator i = sources.begin(); i != sources.end(); ++i) {
(*i)->remove_playlist (pl);
}
for (SourceList::const_iterator i = master_sources.begin(); i != master_sources.end(); ++i) {
(*i)->remove_playlist (pl);
}
}
notify_callbacks ();
@ -1505,16 +1508,26 @@ AudioRegion::set_playlist (boost::weak_ptr<Playlist> wpl)
(*i)->remove_playlist (_playlist);
(*i)->add_playlist (pl);
}
for (SourceList::const_iterator i = master_sources.begin(); i != master_sources.end(); ++i) {
(*i)->remove_playlist (_playlist);
(*i)->add_playlist (pl);
}
} else {
for (SourceList::const_iterator i = sources.begin(); i != sources.end(); ++i) {
(*i)->add_playlist (pl);
}
for (SourceList::const_iterator i = master_sources.begin(); i != master_sources.end(); ++i) {
(*i)->add_playlist (pl);
}
}
} else {
if (old_playlist) {
for (SourceList::const_iterator i = sources.begin(); i != sources.end(); ++i) {
(*i)->remove_playlist (old_playlist);
}
for (SourceList::const_iterator i = master_sources.begin(); i != master_sources.end(); ++i) {
(*i)->remove_playlist (old_playlist);
}
}
}
}

View file

@ -850,10 +850,6 @@ Playlist::partition_internal (nframes_t start, nframes_t end, bool cutting, Regi
}
}
if (current->first_frame() >= current->last_frame()) {
PBD::stacktrace (cerr);
}
in_partition = false;
}