X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fhints.cc;h=6cb037ed0afd2ebd6bb865734de77eebd455f33f;hp=ad81e8d59eee1e7499e151c091e184c5d1f56331;hb=a1546fb6c4e59621d99271b8ca996e96a574f7b3;hpb=05f2028ec1280a98050dc22609879230337a35ef diff --git a/src/lib/hints.cc b/src/lib/hints.cc index ad81e8d59..6cb037ed0 100644 --- a/src/lib/hints.cc +++ b/src/lib/hints.cc @@ -53,7 +53,6 @@ using namespace dcpomatic; Hints::Hints (weak_ptr film) : _film (film) - , _thread (0) , _long_ccap (false) , _overlap_ccap (false) , _too_many_ccap_lines (false) @@ -65,27 +64,22 @@ Hints::Hints (weak_ptr film) void Hints::start () { - _thread = new boost::thread (bind(&Hints::thread, this)); + _thread = boost::thread (bind(&Hints::thread, this)); } Hints::~Hints () { - if (!_thread) { + if (!_thread.joinable()) { return; } try { - { - boost::mutex::scoped_lock lm (_mutex); - _stop = true; - } - _thread->interrupt (); - _thread->join (); + _stop = true; + _thread.interrupt (); + _thread.join (); } catch (...) { } - - delete _thread; } void @@ -279,11 +273,8 @@ Hints::thread () struct timeval now; gettimeofday (&now, 0); if ((seconds(now) - seconds(last_pulse)) > 1) { - { - boost::mutex::scoped_lock lm (_mutex); - if (_stop) { - break; - } + if (_stop) { + break; } emit (bind (boost::ref(Pulse))); last_pulse = now;