summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-02-25 00:40:30 +0000
committerCarl Hetherington <cth@carlh.net>2018-02-25 00:43:25 +0000
commite44ed94827f1c0674358f04cc8657a36eef53d29 (patch)
tree1672ec0c013e5623158fb352c4ad7f564a506dff
parent14cccb179fff7bbbf422e13f9d2e3264239c93c7 (diff)
Handle errors in subtitle XML better (#1209).
-rw-r--r--ChangeLog4
-rw-r--r--cscript4
-rw-r--r--src/lib/job.cc6
-rw-r--r--src/tools/dcpomatic_player.cc2
4 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 771c321b7..e311e9728 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-02-25 Carl Hetherington <cth@carlh.net>
+
+ * Handle errors in subtitle XML better (#1209).
+
2018-02-24 Carl Hetherington <cth@carlh.net>
* Updated fr_FR translation from Thierry Journet.
diff --git a/cscript b/cscript
index 6f4034984..ba4de2a29 100644
--- a/cscript
+++ b/cscript
@@ -283,8 +283,8 @@ def dependencies(target):
ffmpeg_options = {}
return (('ffmpeg-cdist', '5fce90f', ffmpeg_options),
- ('libdcp', '95c6dd4'),
- ('libsub', '4467345'),
+ ('libdcp', 'd4b350c'),
+ ('libsub', '26a74f7'),
('rtaudio-cdist', None))
def configure_options(target):
diff --git a/src/lib/job.cc b/src/lib/job.cc
index ccb75fa93..5134475ce 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -174,6 +174,12 @@ Job::run_wrapper ()
set_progress (1);
set_state (FINISHED_ERROR);
+ } catch (dcp::DCPReadError& e) {
+
+ set_error (e.message(), e.detail().get_value_or(""));
+ set_progress (1);
+ set_state (FINISHED_ERROR);
+
} catch (std::exception& e) {
set_error (
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index 3e36b575b..d42320bfd 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -181,7 +181,7 @@ public:
shared_ptr<Job> last = jm->get().back();
if (last->finished_in_error()) {
- error_dialog (this, std_to_wx (last->error_summary()) + ".\n");
+ error_dialog(this, std_to_wx(last->error_summary()) + ".\n", std_to_wx(last->error_details()));
return;
}