summaryrefslogtreecommitdiff
path: root/libs/ardour/import.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-20 20:59:38 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-20 20:59:38 +0000
commit9e50baae6341595f8f04e0cf5a081a8cc131f5f5 (patch)
tree4113ed57a4e898b24bfc97d8e523e54f51b4d316 /libs/ardour/import.cc
parent9c5bcc0f10d1cc822aab1fa78df8f316008b8cd9 (diff)
don't say "can throw" and then fail to catch
git-svn-id: svn://localhost/ardour2/branches/3.0@12347 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/import.cc')
-rw-r--r--libs/ardour/import.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/ardour/import.cc b/libs/ardour/import.cc
index 21a15bdea1..0c4256e1f4 100644
--- a/libs/ardour/import.cc
+++ b/libs/ardour/import.cc
@@ -600,8 +600,12 @@ Session::import_audiofiles (ImportStatus& status)
std::copy (all_new_sources.begin(), all_new_sources.end(), std::back_inserter(status.sources));
} else {
- // this can throw...but it seems very unlikely
- std::for_each (all_new_sources.begin(), all_new_sources.end(), remove_file_source);
+ try {
+ std::for_each (all_new_sources.begin(), all_new_sources.end(), remove_file_source);
+ } catch (...) {
+ error << _("Failed to remove some files after failed/cancelled import operation") << endmsg;
+ }
+
}
status.done = true;