X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcinema.cc;h=ce3077b2a041df9ab21e6600a59f4f770f78f164;hb=3b80b8f8a938dd34ee0e0fbca8fbce6a6850f136;hp=c8cb7b66cc935be866e8049b3a489971fd2712bc;hpb=8d58a7c5f4320ad5c111e336c45e44d6b51ab509;p=dcpomatic.git diff --git a/src/lib/cinema.cc b/src/lib/cinema.cc index c8cb7b66c..ce3077b2a 100644 --- a/src/lib/cinema.cc +++ b/src/lib/cinema.cc @@ -17,9 +17,9 @@ */ -#include -#include #include "cinema.h" +#include +#include using std::list; using boost::shared_ptr; @@ -68,16 +68,20 @@ Cinema::remove_screen (shared_ptr s) } Screen::Screen (cxml::ConstNodePtr node) + : name (node->string_child ("Name")) { - name = node->string_child ("Name"); - certificate = shared_ptr (new dcp::Certificate (node->string_child ("Certificate"))); + if (node->optional_string_child ("Certificate")) { + certificate = dcp::Certificate (node->string_child ("Certificate")); + } } void Screen::as_xml (xmlpp::Element* parent) const { parent->add_child("Name")->add_child_text (name); - parent->add_child("Certificate")->add_child_text (certificate->certificate (true)); + if (certificate) { + parent->add_child("Certificate")->add_child_text (certificate->certificate (true)); + } }