projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.
[dcpomatic.git]
/
src
/
lib
/
job.cc
diff --git
a/src/lib/job.cc
b/src/lib/job.cc
index 1d3cb73b6fcf39f276e9aefc3fbdd91841397051..7be17141769c78fb22b0e4a669f8c911bfbbaaa1 100644
(file)
--- a/
src/lib/job.cc
+++ b/
src/lib/job.cc
@@
-231,8
+231,9
@@
Job::set_progress (float p, bool force)
_progress = p;
boost::this_thread::interruption_point ();
_progress = p;
boost::this_thread::interruption_point ();
- if (paused ()) {
- dcpomatic_sleep (1);
+ boost::mutex::scoped_lock lm2 (_state_mutex);
+ while (_state == PAUSED) {
+ _pause_changed.wait (lm2);
}
if (ui_signaller) {
}
if (ui_signaller) {
@@
-350,6
+351,7
@@
Job::pause ()
{
if (running ()) {
set_state (PAUSED);
{
if (running ()) {
set_state (PAUSED);
+ _pause_changed.notify_all ();
}
}
}
}
@@
-358,5
+360,6
@@
Job::resume ()
{
if (paused ()) {
set_state (RUNNING);
{
if (paused ()) {
set_state (RUNNING);
+ _pause_changed.notify_all ();
}
}
}
}