fix crasher caused by regions not being deleted on session unload; fix up srctar...
[ardour.git] / libs / ardour / audioregion.cc
index be7c1fbb0d0195d6003dbbf390d5b50731f96dcb..38950f36359bba8d54b9d1f3ad69d9464d682d41 100644 (file)
@@ -1481,6 +1481,15 @@ AudioRegion::speed_mismatch (float sr) const
 void
 AudioRegion::source_offset_changed ()
 {
+       /* XXX this fixes a crash that should not occur. It does occur
+          becauses regions are not being deleted when a session
+          is unloaded. That bug must be fixed.
+       */
+
+       if (sources.empty()) {
+               return;
+       }
+
        boost::shared_ptr<AudioFileSource> afs = boost::dynamic_pointer_cast<AudioFileSource>(sources.front());
 
        if (afs && afs->destructive()) {