Fix erroneous optional dereference.
[dcpomatic.git] / src / lib / job.cc
index c228defc541737542c67b5f08045a428b16d849c..7aaac748c115a1d9e65144027e7eacf96f1d6640 100644 (file)
@@ -59,6 +59,7 @@ Job::~Job ()
 {
        if (_thread) {
                _thread->interrupt ();
+               DCPOMATIC_ASSERT (_thread->joinable ());
                _thread->join ();
        }
 
@@ -416,7 +417,10 @@ Job::cancel ()
        }
 
        _thread->interrupt ();
+       DCPOMATIC_ASSERT (_thread->joinable ());
        _thread->join ();
+       delete _thread;
+       _thread = 0;
 }
 
 void
@@ -447,4 +451,3 @@ Job::when_finished (boost::signals2::connection& connection, function<void()> fi
                connection = Finished.connect (finished);
        }
 }
-