diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-12-20 23:17:16 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-12-22 02:37:53 +0100 |
| commit | 191b9aece985643210dc6b2352b390cdfc386f4d (patch) | |
| tree | 683ef5581bc872f30d5bbcb57ae05e557eec199d /src | |
| parent | 883600f1e39a86338050bfdc3eaf01136d06d825 (diff) | |
Catch exceptions better during hints thread.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/hints.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/hints.cc b/src/lib/hints.cc index 131548035..ffe6d8e73 100644 --- a/src/lib/hints.cc +++ b/src/lib/hints.cc @@ -390,7 +390,15 @@ Hints::thread () boost::filesystem::path dcp_dir = film->dir("hints") / dcpomatic::get_process_id(); boost::filesystem::remove_all (dcp_dir); - _writer->finish (film->dir("hints") / dcpomatic::get_process_id()); + + try { + _writer->finish (film->dir("hints") / dcpomatic::get_process_id()); + } catch (...) { + store_current (); + emit (bind(boost::ref(Finished))); + return; + } + dcp::DCP dcp (dcp_dir); dcp.read (); DCPOMATIC_ASSERT (dcp.cpls().size() == 1); |
