diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-09-01 19:51:53 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-09-01 19:51:53 +0100 |
| commit | a16f2c07ea7301ed1b82b9039ea7db7c025054ff (patch) | |
| tree | c3cedad2e9f8634e5f6fec8836f0ea0c55f02b09 /src/lib/job.cc | |
| parent | 78d8f1166fb0f8f8cee7996e3c9b7f5d088f72df (diff) | |
Fix crash on cancellation of encodes during check of image data; allow cancellation during this time (#679).
Diffstat (limited to 'src/lib/job.cc')
| -rw-r--r-- | src/lib/job.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/job.cc b/src/lib/job.cc index d9715aa18..87e4fb3d3 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -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 */ |
