Fix deadlock.
[dcpomatic.git] / src / lib / image_content.cc
index 4073cd52c7facf71117f43b3d33a0c044359d01e..f9a772e00126c5d49162442ff68c5559820764bb 100644 (file)
@@ -29,6 +29,8 @@
 
 #include "i18n.h"
 
+#include "image_filename_sorter.cc"
+
 using std::string;
 using std::cout;
 using boost::shared_ptr;
@@ -38,7 +40,7 @@ ImageContent::ImageContent (shared_ptr<const Film> f, boost::filesystem::path p)
        , VideoContent (f)
 {
        bool have_j2k = false;
-       if (boost::filesystem::is_regular_file (p)) {
+       if (boost::filesystem::is_regular_file (p) && valid_image_file (p)) {
                _paths.push_back (p);
                if (valid_j2k_file (p)) {
                        have_j2k = true;
@@ -57,12 +59,12 @@ ImageContent::ImageContent (shared_ptr<const Film> f, boost::filesystem::path p)
                        throw FileError (_("No valid image files were found in the folder."), p);
                }
                                
-               sort (_paths.begin(), _paths.end());
+               sort (_paths.begin(), _paths.end(), ImageFilenameSorter ());
        }
 
        if (have_j2k) {
                /* We default to no colour conversion if we have JPEG2000 files */
-               unset_colour_conversion ();
+               unset_colour_conversion (false);
        }
 }