diff options
| -rw-r--r-- | src/cpl.cc | 7 | ||||
| -rw-r--r-- | src/cpl.h | 2 | ||||
| -rw-r--r-- | test/write_subtitle_test.cc | 8 |
3 files changed, 11 insertions, 6 deletions
@@ -654,10 +654,13 @@ CPL::set_content_versions (vector<ContentVersion> v) } -ContentVersion +optional<ContentVersion> CPL::content_version () const { - DCP_ASSERT (!_content_versions.empty()); + if (_content_versions.empty()) { + return optional<ContentVersion>(); + } + return _content_versions[0]; } @@ -140,7 +140,7 @@ public: return _content_kind; } - ContentVersion content_version () const; + boost::optional<ContentVersion> content_version () const; std::vector<ContentVersion> content_versions () const { return _content_versions; diff --git a/test/write_subtitle_test.cc b/test/write_subtitle_test.cc index b7d8119a..4bdc6e9d 100644 --- a/test/write_subtitle_test.cc +++ b/test/write_subtitle_test.cc @@ -46,6 +46,7 @@ using std::list; using std::string; +using boost::optional; using boost::shared_ptr; /** Test dcp::order::Font::take_intersection */ @@ -372,9 +373,10 @@ BOOST_AUTO_TEST_CASE (write_interop_subtitle_test3) cpl->set_creator (creator); cpl->set_issue_date (issue_date); cpl->set_annotation_text (annotation_text); - dcp::ContentVersion cv = cpl->content_version(); - cv.label_text = "foo"; - cpl->set_content_version (cv); + optional<dcp::ContentVersion> cv = cpl->content_version(); + BOOST_REQUIRE (cv); + cv->label_text = "foo"; + cpl->set_content_version (*cv); dcp::DCP dcp ("build/test/write_interop_subtitle_test3"); dcp.add (cpl); |
