summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSampo Savolainen <v2@iki.fi>2007-07-24 19:17:07 +0000
committerSampo Savolainen <v2@iki.fi>2007-07-24 19:17:07 +0000
commit3451e48530ca681d34dab23da5bf1f2521b414ad (patch)
treefdaa7fa32417988a9a20324f98df7b0fba501b0e
parente21e79d84697a9fb28eff434a2a099b0cbad95f6 (diff)
Protect ardour from sessions with errant capture sources stored in the
session state. git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2176 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/audio_diskstream.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc
index 4744eb2d17..07cb52403d 100644
--- a/libs/ardour/audio_diskstream.cc
+++ b/libs/ardour/audio_diskstream.cc
@@ -2279,6 +2279,12 @@ AudioDiskstream::use_pending_capture_data (XMLNode& node)
continue;
}
+ // This protects sessions from errant CapturingSources in stored sessions
+ struct stat sbuf;
+ if (stat (prop->value().c_str(), &sbuf)) {
+ continue;
+ }
+
try {
fs = boost::dynamic_pointer_cast<AudioFileSource> (SourceFactory::createWritable (_session, prop->value(), false, _session.frame_rate()));
}