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:40:30 +0000
commit7a492b88bb30e084d95e5652e8067d21eead1feb (patch)
treefa2aa0ca07bdc4ae5bd76137300144ae4ce7977f
parentd08123f5e160b5737fa912cd36119e810abaa4cd (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 25682ef96..1eb2757cf 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 61c5b3767..430decceb 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -171,6 +171,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;
}