From d2a7d39749981d3b236750b37ed02d13b3bade12 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 8 Jan 2017 19:49:21 -0500 Subject: [PATCH] Ensured the output lock isn't held while talking to the delegate. --- Outputs/CRT/CRT.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Outputs/CRT/CRT.cpp b/Outputs/CRT/CRT.cpp index 76df84488..631e99d6d 100644 --- a/Outputs/CRT/CRT.cpp +++ b/Outputs/CRT/CRT.cpp @@ -242,7 +242,9 @@ void CRT::advance_cycles(unsigned int number_of_cycles, bool hsync_requested, bo frames_since_last_delegate_call_++; if(frames_since_last_delegate_call_ == 20) { + output_lock.unlock(); delegate_->crt_did_end_batch_of_frames(this, frames_since_last_delegate_call_, vertical_flywheel_->get_and_reset_number_of_surprises()); + output_lock.lock(); frames_since_last_delegate_call_ = 0; } }