Check modified before File -> Close happens.
[dcpomatic.git] / src / tools / dcpomatic_kdm_cli.cc
index 4a6ea50a7abc88dd30bdcb60b841b714ad68b741..84eb989eee1cfeec7821197cd30848dca48de9fb 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013-2017 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2018 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -42,6 +42,7 @@ using std::cout;
 using std::cerr;
 using std::list;
 using std::vector;
+using std::runtime_error;
 using boost::shared_ptr;
 using boost::optional;
 using boost::bind;
@@ -73,7 +74,7 @@ help ()
                "For example:\n\n"
                "Create KDMs for my_great_movie to play in all of Fred's Cinema's screens for the next two weeks and zip them up.\n"
                "(Fred's Cinema must have been set up in DCP-o-matic's KDM window)\n\n"
-               "\tdcpomatic2_kdm_cli -c \"Fred's Cinema\" -f now -d \"2 weeks\" -z my_great_movie\n\n";
+               "\t" << program_name << " -c \"Fred's Cinema\" -f now -d \"2 weeks\" -z my_great_movie\n\n";
 }
 
 static void
@@ -238,6 +239,9 @@ from_film (
        } catch (KDMError& e) {
                cerr << program_name << ": " << e.what() << "\n";
                exit (EXIT_FAILURE);
+       } catch (runtime_error& e) {
+               cerr << program_name << ": " << e.what() << "\n";
+               exit (EXIT_FAILURE);
        }
 }
 
@@ -500,7 +504,8 @@ int main (int argc, char* argv[])
                case 'C':
                {
                        /* Make a new screen and add it to the current cinema */
-                       shared_ptr<Screen> screen (new Screen (screen_description, dcp::Certificate (dcp::file_to_string (optarg)), vector<TrustedDevice>()));
+                       dcp::CertificateChain chain (dcp::file_to_string(optarg));
+                       shared_ptr<Screen> screen (new Screen (screen_description, chain.leaf(), vector<TrustedDevice>()));
                        if (cinema) {
                                cinema->add_screen (screen);
                        }