+
+ while (jm->work_to_do()) {
+ if (!progress.Pulse()) {
+ /* user pressed cancel */
+ BOOST_FOREACH (shared_ptr<Job> i, jm->get()) {
+ i->cancel();
+ }
+ return;
+ }
+ dcpomatic_sleep_seconds (1);
+ }
+
+ /* Add content from successful jobs and report errors */
+ BOOST_FOREACH (shared_ptr<ExamineContentJob> i, jobs) {
+ if (i->finished_in_error()) {
+ error_dialog(this, std_to_wx(i->error_summary()) + ".\n", std_to_wx(i->error_details()));
+ } else {
+ add (i->content());
+ _content.push_back (i->content());
+ }
+ }