Be more careful about allowing possibly-trouble-causing characters in DCP filenames.
[dcpomatic.git] / src / wx / name_format_editor.cc
index 309e04c6044c93452db7c99af6f96ae40d512d27..1f7ca109bbb802f3eaaf6f5f23b7f803a8d68239 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2016 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2016-2017 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -20,6 +20,7 @@
 
 #include "name_format_editor.h"
 #include "wx_util.h"
+#include "lib/util.h"
 
 using std::string;
 
@@ -47,7 +48,7 @@ NameFormatEditor::NameFormatEditor (wxWindow* parent, dcp::NameFormat name, dcp:
        }
 
        _specification->SetValue (std_to_wx (_name.specification ()));
-       _specification->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&NameFormatEditor::changed, this));
+       _specification->Bind (wxEVT_TEXT, boost::bind (&NameFormatEditor::changed, this));
 
        update_example ();
 }
@@ -62,7 +63,7 @@ NameFormatEditor::changed ()
 void
 NameFormatEditor::update_example ()
 {
-       _name.set_specification (wx_to_std (_specification->GetValue ()));
+       _name.set_specification (careful_string_filter (wx_to_std (_specification->GetValue ())));
 
        wxString example = wxString::Format (_("e.g. %s"), std_to_wx (_name.get (_examples, _suffix)));
        wxString wrapped;