From a9181594e2d4f39ca954fc0b499e04f3814dee45 Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Tue, 11 Aug 2015 22:25:49 -0400 Subject: [PATCH] Fixes a rare crash while testing.. --- src/process/SpectrumVisualProcessor.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/process/SpectrumVisualProcessor.cpp b/src/process/SpectrumVisualProcessor.cpp index 75f2ee4..932477b 100644 --- a/src/process/SpectrumVisualProcessor.cpp +++ b/src/process/SpectrumVisualProcessor.cpp @@ -89,6 +89,12 @@ void SpectrumVisualProcessor::process() { input->pop(iqData); + if (!iqData) { + return; + } + + iqData->busy_rw.lock(); + std::vector *data = &iqData->data; if (data && data->size()) { @@ -102,6 +108,8 @@ void SpectrumVisualProcessor::process() { if (is_view.load()) { if (!iqData->frequency || !iqData->sampleRate) { + iqData->decRefCount(); + iqData->busy_rw.unlock(); return; } @@ -290,5 +298,6 @@ void SpectrumVisualProcessor::process() { } iqData->decRefCount(); + iqData->busy_rw.unlock(); }