diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-20 20:59:38 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-05-20 20:59:38 +0000 |
commit | 9e50baae6341595f8f04e0cf5a081a8cc131f5f5 (patch) | |
tree | 4113ed57a4e898b24bfc97d8e523e54f51b4d316 /libs/ardour/import.cc | |
parent | 9c5bcc0f10d1cc822aab1fa78df8f316008b8cd9 (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.cc | 8 |
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; |