Fix crash on trying to use an invalid KDM.
[dcpomatic.git] / src / wx / swaroop_controls.cc
index d6ab5c39daa0de4322b5c6e6b3a0bdc98299eba4..2202dff2acb262b4b246a232878a0e8f34d530cd 100644 (file)
@@ -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 */