summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_playlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audio_playlist.cc')
-rw-r--r--libs/ardour/audio_playlist.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc
index dcba0ae31c..a6d73e8544 100644
--- a/libs/ardour/audio_playlist.cc
+++ b/libs/ardour/audio_playlist.cc
@@ -277,9 +277,14 @@ AudioPlaylist::refresh_dependents (boost::shared_ptr<Region> r)
if ((*x)->involves (ar)) {
if (find (updated.begin(), updated.end(), *x) == updated.end()) {
- if ((*x)->refresh ()) {
- /* not invalidated by the refresh */
- updated.insert (*x);
+ try {
+ if ((*x)->refresh ()) {
+ updated.insert (*x);
+ }
+ }
+
+ catch (Crossfade::NoCrossfadeHere& err) {
+ // relax, Invalidated during refresh
}
}
}
@@ -353,6 +358,7 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
refresh_dependents (r);
}
+
if (!Config->get_auto_xfade()) {
return;
}