From 91475dca789b4f40ce21bbe8245bac243d49252c Mon Sep 17 00:00:00 2001 From: Louis-Joseph Fournier Date: Tue, 12 Jan 2016 22:11:20 +0100 Subject: [PATCH] Worker: fix unitialized status --- src/TunerWorker.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/TunerWorker.cpp b/src/TunerWorker.cpp index 00064d1..2d0ecf7 100644 --- a/src/TunerWorker.cpp +++ b/src/TunerWorker.cpp @@ -56,6 +56,7 @@ static void blank_prevent(bool prevent) TunerWorker::TunerWorker() : running(false), + playing(false), quit(false), la_to_update(0), temperament_to_update(0), // update the first time in every cases @@ -164,6 +165,8 @@ void TunerWorker::Entry() if (running || playing) blank_prevent(true); while (1) { + + mutex.lock(); // free pulseaudio if not running if (!running && p_record) { pa_simple_free(p_record); @@ -175,7 +178,6 @@ void TunerWorker::Entry() } // wait for running - mutex.lock(); if (!running && !playing) { blank_prevent(false); while (!running && !playing && !quit) { @@ -209,9 +211,11 @@ void TunerWorker::Entry() octave_to_update = -1; player->SetFreq(pitchDetection->GetNoteFreq(result.note, result.octave)); } + bool m_running = running; + bool m_playing = playing; mutex.unlock(); - if (running ) { + if (m_running ) { // tuner detection running if (!p_record) { @@ -252,7 +256,7 @@ void TunerWorker::Entry() } } // running - if (playing) { + if (m_playing) { // play if (!p_play) { // start pulseaudio if stopped