diff --git a/plugins/channelrx/chanalyzer/chanalyzergui.cpp b/plugins/channelrx/chanalyzer/chanalyzergui.cpp index 6ca79a07b..957eaa403 100644 --- a/plugins/channelrx/chanalyzer/chanalyzergui.cpp +++ b/plugins/channelrx/chanalyzer/chanalyzergui.cpp @@ -525,6 +525,7 @@ ChannelAnalyzerGUI::ChannelAnalyzerGUI(PluginAPI* pluginAPI, DeviceUISet *device ChannelAnalyzerGUI::~ChannelAnalyzerGUI() { + m_channelAnalyzer->setSampleSink(nullptr); qDebug("ChannelAnalyzerGUI::~ChannelAnalyzerGUI"); ui->glScope->disconnectTimer(); delete ui; diff --git a/plugins/channelrx/demodatv/atvdemodgui.cpp b/plugins/channelrx/demodatv/atvdemodgui.cpp index 2c2e72c46..c5816ef7d 100644 --- a/plugins/channelrx/demodatv/atvdemodgui.cpp +++ b/plugins/channelrx/demodatv/atvdemodgui.cpp @@ -275,6 +275,9 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, Base ATVDemodGUI::~ATVDemodGUI() { + m_atvDemod->setScopeSink(nullptr); + m_atvDemod->setTVScreen(nullptr); + delete m_scopeVis; delete ui; } diff --git a/plugins/channelrx/demoddatv/datvdemodgui.cpp b/plugins/channelrx/demoddatv/datvdemodgui.cpp index f50dc9e97..d936b2144 100644 --- a/plugins/channelrx/demoddatv/datvdemodgui.cpp +++ b/plugins/channelrx/demoddatv/datvdemodgui.cpp @@ -266,6 +266,12 @@ DATVDemodGUI::DATVDemodGUI(PluginAPI* objPluginAPI, DeviceUISet *deviceUISet, Ba DATVDemodGUI::~DATVDemodGUI() { + m_objDATVDemod->SetTVScreen(nullptr); + m_objDATVDemod->setMERLabel(nullptr); + m_objDATVDemod->setCNRLabel(nullptr); + m_objDATVDemod->setMERMeter(nullptr); + m_objDATVDemod->setCNRMeter(nullptr); + delete ui; } diff --git a/plugins/channelrx/demoddsd/dsddemodgui.cpp b/plugins/channelrx/demoddsd/dsddemodgui.cpp index e8e3d9ff4..e8e50eaa5 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.cpp +++ b/plugins/channelrx/demoddsd/dsddemodgui.cpp @@ -381,6 +381,7 @@ DSDDemodGUI::DSDDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseban DSDDemodGUI::~DSDDemodGUI() { + m_dsdDemod->setScopeXYSink(nullptr); delete m_scopeVisXY; delete ui; } diff --git a/plugins/channelrx/demoddsd/dsddemodsink.cpp b/plugins/channelrx/demoddsd/dsddemodsink.cpp index d7ad83104..063c0306f 100644 --- a/plugins/channelrx/demoddsd/dsddemodsink.cpp +++ b/plugins/channelrx/demoddsd/dsddemodsink.cpp @@ -55,7 +55,7 @@ DSDDemodSink::DSDDemodSink() : m_squelchDelayLine(24000), m_audioFifo1(48000), m_audioFifo2(48000), - m_scopeXY(0), + m_scopeXY(nullptr), m_scopeEnabled(true), m_dsdDecoder(), m_signalFormat(signalFormatNone) @@ -297,7 +297,7 @@ void DSDDemodSink::feed(const SampleVector::const_iterator& begin, const SampleV } } - if ((m_scopeXY != 0) && (m_scopeEnabled)) + if ((m_scopeXY != nullptr) && (m_scopeEnabled)) { m_scopeXY->feed(m_scopeSampleBuffer.begin(), m_scopeSampleBuffer.end(), true); // true = real samples for what it's worth } diff --git a/plugins/feature/demodanalyzer/demodanalyzergui.cpp b/plugins/feature/demodanalyzer/demodanalyzergui.cpp index 11960c2da..fd479c919 100644 --- a/plugins/feature/demodanalyzer/demodanalyzergui.cpp +++ b/plugins/feature/demodanalyzer/demodanalyzergui.cpp @@ -178,6 +178,8 @@ DemodAnalyzerGUI::DemodAnalyzerGUI(PluginAPI* pluginAPI, FeatureUISet *featureUI DemodAnalyzerGUI::~DemodAnalyzerGUI() { + m_demodAnalyzer->setSampleSink(nullptr); + delete ui; delete m_spectrumScopeComboVis; delete m_scopeVis;