Fix hanging butler due to nasty signal ordering problems. v2.15.83
authorCarl Hetherington <cth@carlh.net>
Fri, 19 Jun 2020 20:47:28 +0000 (22:47 +0200)
committerCarl Hetherington <cth@carlh.net>
Fri, 19 Jun 2020 20:47:28 +0000 (22:47 +0200)
src/lib/dcp_content.cc

index 66f5331b0decb567b86afb129fd36d485fb8e1bb..ec6894428f96438d9cc76d60506a38c64540b3b0 100644 (file)
@@ -240,8 +240,11 @@ DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
                        boost::mutex::scoped_lock lm (_mutex);
                        atmos.reset (new AtmosContent(this));
                }
                        boost::mutex::scoped_lock lm (_mutex);
                        atmos.reset (new AtmosContent(this));
                }
-               atmos->set_length (examiner->atmos_length());
+               /* Setting length will cause calculations to be made based on edit rate, so that must
+                * be set up first otherwise hard-to-spot exceptions will be thrown.
+                */
                atmos->set_edit_rate (examiner->atmos_edit_rate());
                atmos->set_edit_rate (examiner->atmos_edit_rate());
+               atmos->set_length (examiner->atmos_length());
        }
 
        int texts = 0;
        }
 
        int texts = 0;