From d6a02f659a8cdf57c2fedb87d9dcd2e4f19820b2 Mon Sep 17 00:00:00 2001
From: Jon Beniston <jon@beniston.com>
Date: Wed, 5 Oct 2022 15:40:09 +0100
Subject: [PATCH] Device GUIs: Stop timers in destructors.

---
 plugins/samplesink/audiooutput/audiooutputgui.cpp         | 1 +
 plugins/samplesink/bladerf1output/bladerf1outputgui.cpp   | 2 ++
 plugins/samplesink/bladerf2output/bladerf2outputgui.cpp   | 2 ++
 plugins/samplesink/fileoutput/fileoutputgui.cpp           | 2 ++
 plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp       | 2 ++
 plugins/samplesink/limesdroutput/limesdroutputgui.cpp     | 2 ++
 plugins/samplesink/localoutput/localoutputgui.cpp         | 2 ++
 plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp   | 2 ++
 plugins/samplesink/remoteoutput/remoteoutputgui.cpp       | 2 ++
 plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp   | 2 ++
 plugins/samplesink/testsink/testsinkgui.cpp               | 2 ++
 plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp           | 2 ++
 plugins/samplesource/airspy/airspygui.cpp                 | 4 +++-
 plugins/samplesource/airspyhf/airspyhfgui.cpp             | 2 ++
 plugins/samplesource/audioinput/audioinputgui.cpp         | 1 +
 plugins/samplesource/bladerf1input/bladerf1inputgui.cpp   | 2 ++
 plugins/samplesource/bladerf2input/bladerf2inputgui.cpp   | 2 ++
 plugins/samplesource/fcdpro/fcdprogui.cpp                 | 2 ++
 plugins/samplesource/fcdproplus/fcdproplusgui.cpp         | 2 ++
 plugins/samplesource/fileinput/fileinputgui.cpp           | 1 +
 plugins/samplesource/hackrfinput/hackrfinputgui.cpp       | 2 ++
 plugins/samplesource/limesdrinput/limesdrinputgui.cpp     | 2 ++
 plugins/samplesource/localinput/localinputgui.cpp         | 2 ++
 plugins/samplesource/perseus/perseusgui.cpp               | 2 ++
 plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp   | 2 ++
 plugins/samplesource/remoteinput/remoteinputgui.cpp       | 3 +++
 plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp | 2 ++
 plugins/samplesource/sdrplay/sdrplaygui.cpp               | 2 ++
 plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp           | 2 ++
 plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp | 1 +
 plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp   | 2 ++
 plugins/samplesource/testsource/testsourcegui.cpp         | 2 ++
 plugins/samplesource/usrpinput/usrpinputgui.cpp           | 2 ++
 plugins/samplesource/xtrxinput/xtrxinputgui.cpp           | 2 ++
 34 files changed, 66 insertions(+), 1 deletion(-)

diff --git a/plugins/samplesink/audiooutput/audiooutputgui.cpp b/plugins/samplesink/audiooutput/audiooutputgui.cpp
index f20cfaf19..21c544749 100644
--- a/plugins/samplesink/audiooutput/audiooutputgui.cpp
+++ b/plugins/samplesink/audiooutput/audiooutputgui.cpp
@@ -65,6 +65,7 @@ AudioOutputGui::AudioOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 AudioOutputGui::~AudioOutputGui()
 {
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp b/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp
index efd1bcfb7..8ecf31f08 100644
--- a/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp
+++ b/plugins/samplesink/bladerf1output/bladerf1outputgui.cpp
@@ -76,6 +76,8 @@ Bladerf1OutputGui::Bladerf1OutputGui(DeviceUISet *deviceUISet, QWidget* parent)
 
 Bladerf1OutputGui::~Bladerf1OutputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp b/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp
index 8b2fc5bfd..d416751e0 100644
--- a/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp
+++ b/plugins/samplesink/bladerf2output/bladerf2outputgui.cpp
@@ -91,6 +91,8 @@ BladeRF2OutputGui::BladeRF2OutputGui(DeviceUISet *deviceUISet, QWidget* parent)
 
 BladeRF2OutputGui::~BladeRF2OutputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesink/fileoutput/fileoutputgui.cpp b/plugins/samplesink/fileoutput/fileoutputgui.cpp
index 48a93316f..2c68dc144 100644
--- a/plugins/samplesink/fileoutput/fileoutputgui.cpp
+++ b/plugins/samplesink/fileoutput/fileoutputgui.cpp
@@ -83,6 +83,8 @@ FileOutputGui::FileOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 FileOutputGui::~FileOutputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp b/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp
index b4be2bdb8..2f2484396 100644
--- a/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp
+++ b/plugins/samplesink/hackrfoutput/hackrfoutputgui.cpp
@@ -74,6 +74,8 @@ HackRFOutputGui::HackRFOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 HackRFOutputGui::~HackRFOutputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesink/limesdroutput/limesdroutputgui.cpp b/plugins/samplesink/limesdroutput/limesdroutputgui.cpp
index 0e7764774..48f70d256 100644
--- a/plugins/samplesink/limesdroutput/limesdroutputgui.cpp
+++ b/plugins/samplesink/limesdroutput/limesdroutputgui.cpp
@@ -101,6 +101,8 @@ LimeSDROutputGUI::LimeSDROutputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
 
 LimeSDROutputGUI::~LimeSDROutputGUI()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesink/localoutput/localoutputgui.cpp b/plugins/samplesink/localoutput/localoutputgui.cpp
index 054c2a1fc..653d1b7dd 100644
--- a/plugins/samplesink/localoutput/localoutputgui.cpp
+++ b/plugins/samplesink/localoutput/localoutputgui.cpp
@@ -87,6 +87,8 @@ LocalOutputGui::LocalOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 LocalOutputGui::~LocalOutputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp b/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp
index 29a4d85b9..9c311d116 100644
--- a/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp
+++ b/plugins/samplesink/plutosdroutput/plutosdroutputgui.cpp
@@ -86,6 +86,8 @@ PlutoSDROutputGUI::PlutoSDROutputGUI(DeviceUISet *deviceUISet, QWidget* parent)
 
 PlutoSDROutputGUI::~PlutoSDROutputGUI()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesink/remoteoutput/remoteoutputgui.cpp b/plugins/samplesink/remoteoutput/remoteoutputgui.cpp
index 8d494378e..a3d34769e 100644
--- a/plugins/samplesink/remoteoutput/remoteoutputgui.cpp
+++ b/plugins/samplesink/remoteoutput/remoteoutputgui.cpp
@@ -96,6 +96,8 @@ RemoteOutputSinkGui::RemoteOutputSinkGui(DeviceUISet *deviceUISet, QWidget* pare
 
 RemoteOutputSinkGui::~RemoteOutputSinkGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp b/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp
index ae98737d9..6a3782eb4 100644
--- a/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp
+++ b/plugins/samplesink/soapysdroutput/soapysdroutputgui.cpp
@@ -107,6 +107,8 @@ SoapySDROutputGui::SoapySDROutputGui(DeviceUISet *deviceUISet, QWidget* parent)
 
 SoapySDROutputGui::~SoapySDROutputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesink/testsink/testsinkgui.cpp b/plugins/samplesink/testsink/testsinkgui.cpp
index 04b5ffa6f..1a746bcc6 100644
--- a/plugins/samplesink/testsink/testsinkgui.cpp
+++ b/plugins/samplesink/testsink/testsinkgui.cpp
@@ -84,6 +84,8 @@ TestSinkGui::TestSinkGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 TestSinkGui::~TestSinkGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp b/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp
index 01ba67f2b..bbb2874d0 100644
--- a/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp
+++ b/plugins/samplesink/xtrxoutput/xtrxoutputgui.cpp
@@ -84,6 +84,8 @@ XTRXOutputGUI::XTRXOutputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
 
 XTRXOutputGUI::~XTRXOutputGUI()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/airspy/airspygui.cpp b/plugins/samplesource/airspy/airspygui.cpp
index df5c5d003..7026bd5cc 100644
--- a/plugins/samplesource/airspy/airspygui.cpp
+++ b/plugins/samplesource/airspy/airspygui.cpp
@@ -73,7 +73,9 @@ AirspyGui::AirspyGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 AirspyGui::~AirspyGui()
 {
-	delete ui;
+    m_statusTimer.stop();
+    m_updateTimer.stop();
+    delete ui;
 }
 
 void AirspyGui::destroy()
diff --git a/plugins/samplesource/airspyhf/airspyhfgui.cpp b/plugins/samplesource/airspyhf/airspyhfgui.cpp
index a056e7ae0..e5759d5ca 100644
--- a/plugins/samplesource/airspyhf/airspyhfgui.cpp
+++ b/plugins/samplesource/airspyhf/airspyhfgui.cpp
@@ -72,6 +72,8 @@ AirspyHFGui::AirspyHFGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 AirspyHFGui::~AirspyHFGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/audioinput/audioinputgui.cpp b/plugins/samplesource/audioinput/audioinputgui.cpp
index 71544fe44..ebfa322b9 100644
--- a/plugins/samplesource/audioinput/audioinputgui.cpp
+++ b/plugins/samplesource/audioinput/audioinputgui.cpp
@@ -60,6 +60,7 @@ AudioInputGui::AudioInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 AudioInputGui::~AudioInputGui()
 {
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp b/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp
index e5fadcdbd..266f3e789 100644
--- a/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp
+++ b/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp
@@ -82,6 +82,8 @@ Bladerf1InputGui::Bladerf1InputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 Bladerf1InputGui::~Bladerf1InputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp b/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp
index 6511b955f..2f2444170 100644
--- a/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp
+++ b/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp
@@ -104,6 +104,8 @@ BladeRF2InputGui::BladeRF2InputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 BladeRF2InputGui::~BladeRF2InputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/fcdpro/fcdprogui.cpp b/plugins/samplesource/fcdpro/fcdprogui.cpp
index 5aa11fd48..63072c5bb 100644
--- a/plugins/samplesource/fcdpro/fcdprogui.cpp
+++ b/plugins/samplesource/fcdpro/fcdprogui.cpp
@@ -162,6 +162,8 @@ FCDProGui::FCDProGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 FCDProGui::~FCDProGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp
index 8040b546e..8f6afe8f4 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp
+++ b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp
@@ -80,6 +80,8 @@ FCDProPlusGui::FCDProPlusGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 FCDProPlusGui::~FCDProPlusGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/fileinput/fileinputgui.cpp b/plugins/samplesource/fileinput/fileinputgui.cpp
index 4e0d95d7e..9b1a891b8 100644
--- a/plugins/samplesource/fileinput/fileinputgui.cpp
+++ b/plugins/samplesource/fileinput/fileinputgui.cpp
@@ -85,6 +85,7 @@ FileInputGUI::FileInputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
 FileInputGUI::~FileInputGUI()
 {
     qDebug("FileInputGUI::~FileInputGUI");
+    m_statusTimer.stop();
 	delete ui;
     qDebug("FileInputGUI::~FileInputGUI: end");
 }
diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp
index 9f0c04c44..2686c9c06 100644
--- a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp
+++ b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp
@@ -78,6 +78,8 @@ HackRFInputGui::HackRFInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 HackRFInputGui::~HackRFInputGui()
 {
     qDebug("HackRFInputGui::~HackRFInputGui");
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
     qDebug("HackRFInputGui::~HackRFInputGui: end");
 }
diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp
index 55b0698d3..666efc482 100644
--- a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp
+++ b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp
@@ -107,6 +107,8 @@ LimeSDRInputGUI::LimeSDRInputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
 
 LimeSDRInputGUI::~LimeSDRInputGUI()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/localinput/localinputgui.cpp b/plugins/samplesource/localinput/localinputgui.cpp
index 9eb721982..b37a63b75 100644
--- a/plugins/samplesource/localinput/localinputgui.cpp
+++ b/plugins/samplesource/localinput/localinputgui.cpp
@@ -100,6 +100,8 @@ LocalInputGui::LocalInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 LocalInputGui::~LocalInputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/perseus/perseusgui.cpp b/plugins/samplesource/perseus/perseusgui.cpp
index d4d951ee8..96c3da079 100644
--- a/plugins/samplesource/perseus/perseusgui.cpp
+++ b/plugins/samplesource/perseus/perseusgui.cpp
@@ -70,6 +70,8 @@ PerseusGui::PerseusGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 PerseusGui::~PerseusGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp
index 8ea5458c8..a8a8f3f75 100644
--- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp
+++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp
@@ -88,6 +88,8 @@ PlutoSDRInputGui::PlutoSDRInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 PlutoSDRInputGui::~PlutoSDRInputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/remoteinput/remoteinputgui.cpp b/plugins/samplesource/remoteinput/remoteinputgui.cpp
index 289427346..0e5b7e7ac 100644
--- a/plugins/samplesource/remoteinput/remoteinputgui.cpp
+++ b/plugins/samplesource/remoteinput/remoteinputgui.cpp
@@ -105,6 +105,9 @@ RemoteInputGui::RemoteInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 RemoteInputGui::~RemoteInputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
+    m_remoteUpdateTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp b/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp
index f49b208df..76953bae3 100644
--- a/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp
+++ b/plugins/samplesource/remotetcpinput/remotetcpinputgui.cpp
@@ -92,6 +92,8 @@ RemoteTCPInputGui::RemoteTCPInputGui(DeviceUISet *deviceUISet, QWidget* parent)
 
 RemoteTCPInputGui::~RemoteTCPInputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/sdrplay/sdrplaygui.cpp b/plugins/samplesource/sdrplay/sdrplaygui.cpp
index df6ec645a..43a913a1b 100644
--- a/plugins/samplesource/sdrplay/sdrplaygui.cpp
+++ b/plugins/samplesource/sdrplay/sdrplaygui.cpp
@@ -89,6 +89,8 @@ SDRPlayGui::SDRPlayGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 SDRPlayGui::~SDRPlayGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp
index 9956343c5..6b259f7ba 100644
--- a/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp
+++ b/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp
@@ -125,6 +125,8 @@ SDRPlayV3Gui::SDRPlayV3Gui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 SDRPlayV3Gui::~SDRPlayV3Gui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp b/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp
index 2970f6227..60992c5f8 100644
--- a/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp
+++ b/plugins/samplesource/sigmffileinput/sigmffileinputgui.cpp
@@ -99,6 +99,7 @@ SigMFFileInputGUI::SigMFFileInputGUI(DeviceUISet *deviceUISet, QWidget* parent)
 
 SigMFFileInputGUI::~SigMFFileInputGUI()
 {
+    m_statusTimer.stop();
 	delete ui;
 }
 
diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp b/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp
index d8f074d48..1e005d0cb 100644
--- a/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp
+++ b/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp
@@ -109,6 +109,8 @@ SoapySDRInputGui::SoapySDRInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 SoapySDRInputGui::~SoapySDRInputGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/testsource/testsourcegui.cpp b/plugins/samplesource/testsource/testsourcegui.cpp
index 404546566..b994c75ed 100644
--- a/plugins/samplesource/testsource/testsourcegui.cpp
+++ b/plugins/samplesource/testsource/testsourcegui.cpp
@@ -81,6 +81,8 @@ TestSourceGui::TestSourceGui(DeviceUISet *deviceUISet, QWidget* parent) :
 
 TestSourceGui::~TestSourceGui()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/usrpinput/usrpinputgui.cpp b/plugins/samplesource/usrpinput/usrpinputgui.cpp
index 39a085e8d..aaabb12d2 100644
--- a/plugins/samplesource/usrpinput/usrpinputgui.cpp
+++ b/plugins/samplesource/usrpinput/usrpinputgui.cpp
@@ -95,6 +95,8 @@ USRPInputGUI::USRPInputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
 
 USRPInputGUI::~USRPInputGUI()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }
 
diff --git a/plugins/samplesource/xtrxinput/xtrxinputgui.cpp b/plugins/samplesource/xtrxinput/xtrxinputgui.cpp
index 35ad4668d..e2ef6bf57 100644
--- a/plugins/samplesource/xtrxinput/xtrxinputgui.cpp
+++ b/plugins/samplesource/xtrxinput/xtrxinputgui.cpp
@@ -87,6 +87,8 @@ XTRXInputGUI::XTRXInputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
 
 XTRXInputGUI::~XTRXInputGUI()
 {
+    m_statusTimer.stop();
+    m_updateTimer.stop();
     delete ui;
 }