From 046c066c11b2f503966abc1cc468f2eaca4d82fa Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 5 Jun 2021 19:46:39 +0200 Subject: [PATCH] ADS-B demod: ADSBDemodWorker: check running state before actual start/stop --- plugins/channelrx/demodadsb/adsbdemodworker.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/channelrx/demodadsb/adsbdemodworker.cpp b/plugins/channelrx/demodadsb/adsbdemodworker.cpp index fe835c5a7..8b085f076 100644 --- a/plugins/channelrx/demodadsb/adsbdemodworker.cpp +++ b/plugins/channelrx/demodadsb/adsbdemodworker.cpp @@ -57,6 +57,11 @@ void ADSBDemodWorker::reset() bool ADSBDemodWorker::startWork() { QMutexLocker mutexLocker(&m_mutex); + + if (m_running) { + return m_running; + } + connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages())); m_heartbeatTimer.start(60*1000); m_running = true; @@ -66,6 +71,11 @@ bool ADSBDemodWorker::startWork() void ADSBDemodWorker::stopWork() { QMutexLocker mutexLocker(&m_mutex); + + if (!m_running) { + return; + } + m_heartbeatTimer.stop(); disconnect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages())); m_running = false;