summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-12-23 22:31:52 +0000
committerCarl Hetherington <cth@carlh.net>2018-12-23 22:31:52 +0000
commit4e558894d1f75f0d8aa64283e8b595a06c77869b (patch)
tree55bf69a7a360beb893647546ef4d43545f1d6d96 /src
parentddc1535c80dc494c13434478cfc1e1037548b053 (diff)
Fix crash on trying to use an invalid KDM.
Diffstat (limited to 'src')
-rw-r--r--src/wx/swaroop_controls.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/wx/swaroop_controls.cc b/src/wx/swaroop_controls.cc
index d6ab5c39d..2202dff2a 100644
--- a/src/wx/swaroop_controls.cc
+++ b/src/wx/swaroop_controls.cc
@@ -30,6 +30,7 @@
#include "lib/scoped_temporary.h"
#include "lib/internet.h"
#include <dcp/raw_convert.h>
+#include <dcp/exceptions.h>
#include <wx/listctrl.h>
#include <wx/progdlg.h>
@@ -396,8 +397,12 @@ SwaroopControls::spl_selection_changed ()
kdm = get_kdm_from_directory (dcp);
}
if (kdm) {
- dcp->add_kdm (*kdm);
- dcp->examine (_film, shared_ptr<Job>());
+ try {
+ dcp->add_kdm (*kdm);
+ dcp->examine (_film, shared_ptr<Job>());
+ } catch (KDMError& e) {
+ error_dialog (this, "Could not load KDM.");
+ }
}
if (dcp->needs_kdm()) {
/* We didn't get a KDM for this */