Fix crash on cancellation of encodes during check of image data; allow cancellation...
[dcpomatic.git] / src / lib / job.cc
index d9715aa18535603d6040b6c8287b2788e385f086..87e4fb3d370c783a99802eaf8dcc09e5e3a2af1c 100644 (file)
@@ -247,6 +247,12 @@ Job::set_progress (float p, bool force)
                return;
        }
 
+       set_progress_common (p);
+}
+
+void
+Job::set_progress_common (optional<float> p)
+{
        boost::mutex::scoped_lock lm (_progress_mutex);
        _progress = p;
        boost::this_thread::interruption_point ();
@@ -315,11 +321,7 @@ Job::set_error (string s, string d)
 void
 Job::set_progress_unknown ()
 {
-       boost::mutex::scoped_lock lm (_progress_mutex);
-       _progress.reset ();
-       lm.unlock ();
-
-       emit (boost::bind (boost::ref (Progress)));
+       set_progress_common (optional<float> ());
 }
 
 /** @return Human-readable status of this job */