Subtitle language handling tweaks; write multiple subtitle languages
[dcpomatic.git] / src / lib / job_manager.cc
index c40178f418a8960914193245f8fbebe557eead97..dbaf15cbce150c400143417dcb6be04772e1300b 100644 (file)
@@ -62,6 +62,8 @@ JobManager::start ()
 
 JobManager::~JobManager ()
 {
+       boost::this_thread::disable_interruption dis;
+
        BOOST_FOREACH (boost::signals2::connection& i, _connections) {
                i.disconnect ();
        }
@@ -72,13 +74,9 @@ JobManager::~JobManager ()
                _empty_condition.notify_all ();
        }
 
-       if (_scheduler.joinable()) {
-               try {
-                       _scheduler.join();
-               } catch (...) {
-
-               }
-       }
+       try {
+               _scheduler.join();
+       } catch (...) {}
 }
 
 shared_ptr<Job>
@@ -230,7 +228,7 @@ JobManager::analyse_audio (
 
                BOOST_FOREACH (shared_ptr<Job> i, _jobs) {
                        shared_ptr<AnalyseAudioJob> a = dynamic_pointer_cast<AnalyseAudioJob> (i);
-                       if (a && a->path() == film->audio_analysis_path(playlist)) {
+                       if (a && a->path() == film->audio_analysis_path(playlist) && !i->finished_cancelled()) {
                                i->when_finished (connection, ready);
                                return;
                        }