Wake UI with a wxEVT_IDLE which is the event that SignalManager::ui_idle is tied to.
[dcpomatic.git] / src / lib / job.cc
index 7aaac748c115a1d9e65144027e7eacf96f1d6640..35f5834080af4ab9de1f876a52656961631532c9 100644 (file)
@@ -42,8 +42,9 @@ using boost::shared_ptr;
 using boost::optional;
 using boost::function;
 
-#define LOG_ERROR_NC(...) _film->log()->log (__VA_ARGS__, Log::TYPE_ERROR);
+#define LOG_ERROR_NC(...) _film->log()->log (__VA_ARGS__, LogEntry::TYPE_ERROR);
 
+/** @param film Associated film, or 0 */
 Job::Job (shared_ptr<const Film> film)
        : _film (film)
        , _thread (0)
@@ -321,10 +322,12 @@ Job::error_summary () const
 void
 Job::set_error (string s, string d)
 {
-       LOG_ERROR_NC (s);
-       LOG_ERROR_NC (d);
+       if (_film) {
+               LOG_ERROR_NC (s);
+               LOG_ERROR_NC (d);
+               _film->log()->log (String::compose ("Error in job: %1 (%2)", s, d), LogEntry::TYPE_ERROR);
+       }
 
-       _film->log()->log (String::compose ("Error in job: %1 (%2)", s, d), Log::TYPE_ERROR);
        boost::mutex::scoped_lock lm (_state_mutex);
        _error_summary = s;
        _error_details = d;