summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-08-12 00:13:08 +0200
committerCarl Hetherington <cth@carlh.net>2023-08-12 00:13:08 +0200
commit3472cd4dc301beb7db39419e922fc0b02cf36cf4 (patch)
treef29ec76856e15b97f7f9e9b6a6cc9f853f5231e4
parentd5898263e49c5a44110f7d5745bda3a00dcbdb8b (diff)
Prevent empty <LabelText> in <ContentVersion> (#2594).
-rw-r--r--src/lib/writer.cc5
-rw-r--r--src/wx/interop_metadata_dialog.cc7
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 8b8ab89de..1ccf7c759 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -616,7 +616,10 @@ Writer::finish (boost::filesystem::path output_dcp)
vector<dcp::ContentVersion> cv;
for (auto i: film()->content_versions()) {
- cv.push_back (dcp::ContentVersion(i));
+ /* Make sure we don't end up writing an empty <LabelText> node as some validators
+ * complain about that.
+ */
+ cv.push_back(!i.empty() ? dcp::ContentVersion(i) : dcp::ContentVersion("1"));
}
if (cv.empty()) {
cv = { dcp::ContentVersion("1") };
diff --git a/src/wx/interop_metadata_dialog.cc b/src/wx/interop_metadata_dialog.cc
index 0258f9ca5..a3e236691 100644
--- a/src/wx/interop_metadata_dialog.cc
+++ b/src/wx/interop_metadata_dialog.cc
@@ -76,5 +76,10 @@ InteropMetadataDialog::setup_standard (wxPanel* panel, wxSizer* sizer)
void
InteropMetadataDialog::content_version_changed ()
{
- film()->set_content_versions ({ wx_to_std(_content_version->GetValue()) });
+ auto version = wx_to_std(_content_version->GetValue());
+ if (version.empty()) {
+ film()->set_content_versions({});
+ } else {
+ film()->set_content_versions({version});
+ }
}