diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-09-16 23:43:15 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-09-16 23:43:15 +0100 |
| commit | 0d36ac996c7aed9e283cd05314ae2124384df5ea (patch) | |
| tree | d3f437be303e3f0025cbb4b923126eec487a6f35 | |
| parent | cc471c30e8aee47f7ef704c2ace995b0fce3e872 (diff) | |
Fix exception on adding an empty folder as content (#691).
| -rw-r--r-- | ChangeLog | 3 | ||||
| -rw-r--r-- | src/lib/content_factory.cc | 5 | ||||
| -rw-r--r-- | src/wx/content_panel.cc | 4 |
3 files changed, 12 insertions, 0 deletions
@@ -1,5 +1,8 @@ 2015-09-16 Carl Hetherington <cth@carlh.net> + * Fix exception on adding an empty folder + as content (#691). + * Add config option for default standard (SMPTE / Interop). diff --git a/src/lib/content_factory.cc b/src/lib/content_factory.cc index c61889363..5b6d71641 100644 --- a/src/lib/content_factory.cc +++ b/src/lib/content_factory.cc @@ -77,6 +77,11 @@ content_factory (shared_ptr<const Film> film, boost::filesystem::path path) shared_ptr<Content> content; if (boost::filesystem::is_directory (path)) { + + if (boost::filesystem::is_empty (path)) { + return shared_ptr<Content> (); + } + /* Guess if this is a DCP or a set of images: read the first ten filenames and if they are all valid image files we assume it is a set of images. */ diff --git a/src/wx/content_panel.cc b/src/wx/content_panel.cc index 2552f5098..8ca0d5b29 100644 --- a/src/wx/content_panel.cc +++ b/src/wx/content_panel.cc @@ -277,6 +277,10 @@ ContentPanel::add_folder_clicked () } shared_ptr<Content> content = content_factory (_film, path); + if (!content) { + error_dialog (_parent, _("No content found in this folder.")); + return; + } shared_ptr<ImageContent> ic = dynamic_pointer_cast<ImageContent> (content); if (ic) { |
