diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-07-29 21:00:14 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-07-29 21:00:14 +0100 |
| commit | 100c6c830ebf215802e128da38260e6e0533ad8c (patch) | |
| tree | d47755da4db9e0dd9c20632f79a4aba52248b8e1 | |
| parent | e45aaf708967630b71323c2eccbb0ab2a5497c17 (diff) | |
Fix find missing function for DCP content (#646).
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | src/wx/content_menu.cc | 23 |
2 files changed, 21 insertions, 9 deletions
@@ -1,3 +1,10 @@ +2015-07-29 Carl Hetherington <cth@carlh.net> + + * Fix "find missing" with DCP folders (#646). + + * Fix garbled audio from DCP sources when running + on Windows. + 2015-07-28 c.hetherington <cth@carlh.net> * Stop forward-frame button going off the end of the film. diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc index 415039cb1..159239345 100644 --- a/src/wx/content_menu.cc +++ b/src/wx/content_menu.cc @@ -234,22 +234,27 @@ ContentMenu::find_missing () /* XXX: a bit nasty */ shared_ptr<ImageContent> ic = dynamic_pointer_cast<ImageContent> (_content.front ()); - if (ic && !ic->still ()) { + shared_ptr<DCPContent> dc = dynamic_pointer_cast<DCPContent> (_content.front ()); + + int r = wxID_CANCEL; + boost::filesystem::path path; + + if ((ic && !ic->still ()) || dc) { wxDirDialog* d = new wxDirDialog (0, _("Choose a folder"), wxT (""), wxDD_DIR_MUST_EXIST); - int const r = d->ShowModal (); - if (r == wxID_OK) { - content.reset (new ImageContent (film, boost::filesystem::path (wx_to_std (d->GetPath ())))); - } + r = d->ShowModal (); + path = wx_to_std (d->GetPath ()); d->Destroy (); } else { wxFileDialog* d = new wxFileDialog (0, _("Choose a file"), wxT (""), wxT (""), wxT ("*.*"), wxFD_MULTIPLE); - int const r = d->ShowModal (); - if (r == wxID_OK) { - content = content_factory (film, wx_to_std (d->GetPath ())); - } + r = d->ShowModal (); + path = wx_to_std (d->GetPath ()); d->Destroy (); } + if (r == wxID_OK) { + content = content_factory (film, path); + } + if (!content) { return; } |
