diff options
Diffstat (limited to 'src/wx/film_viewer.cc')
| -rw-r--r-- | src/wx/film_viewer.cc | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index 3f4bc6514..f00cdfe28 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -54,6 +54,7 @@ using std::exception; using boost::shared_ptr; using boost::dynamic_pointer_cast; using boost::weak_ptr; +using boost::optional; using dcp::Size; FilmViewer::FilmViewer (wxWindow* p) @@ -385,23 +386,12 @@ FilmViewer::update_position_label () } void -FilmViewer::active_jobs_changed (bool a) +FilmViewer::active_jobs_changed (optional<string> j) { - if (a) { - list<shared_ptr<Job> > jobs = JobManager::instance()->get (); - list<shared_ptr<Job> >::iterator i = jobs.begin (); - while (i != jobs.end() && boost::dynamic_pointer_cast<ExamineContentJob> (*i) == 0) { - ++i; - } - - if (i == jobs.end() || (*i)->finished()) { - /* no examine content job running, so we're ok to use the viewer */ - a = false; - } - } - - _slider->Enable (!a); - _play_button->Enable (!a); + /* examine content is the only job which stops the viewer working */ + bool const a = !j || *j != "examine_content"; + _slider->Enable (a); + _play_button->Enable (a); } void |
