From cb207e26c7660a5eb6a1feb062944b85e2e37731 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 3 Jan 2017 09:09:51 +0100 Subject: [PATCH] BladeRF plugins: fixed start/stop and delete sequences --- plugins/samplesink/bladerfoutput/bladerfoutput.cpp | 11 +++++++---- plugins/samplesource/bladerfinput/bladerfinput.cpp | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/plugins/samplesink/bladerfoutput/bladerfoutput.cpp b/plugins/samplesink/bladerfoutput/bladerfoutput.cpp index 06168ec45..5fa871501 100644 --- a/plugins/samplesink/bladerfoutput/bladerfoutput.cpp +++ b/plugins/samplesink/bladerfoutput/bladerfoutput.cpp @@ -43,8 +43,12 @@ BladerfOutput::BladerfOutput(DeviceSinkAPI *deviceAPI) : BladerfOutput::~BladerfOutput() { - stop(); - m_deviceAPI->setBuddySharedPtr(0); + if (m_dev != 0) + { + stop(); + } + + m_deviceAPI->setBuddySharedPtr(0); } bool BladerfOutput::init(const Message& cmd) @@ -183,7 +187,6 @@ void BladerfOutput::stop() if(m_dev != 0) // close BladeRF { bladerf_close(m_dev); - m_dev = 0; } } } @@ -194,11 +197,11 @@ void BladerfOutput::stop() if(m_dev != 0) // close BladeRF { bladerf_close(m_dev); - m_dev = 0; } } m_sharedParams.m_dev = 0; + m_dev = 0; } const QString& BladerfOutput::getDeviceDescription() const diff --git a/plugins/samplesource/bladerfinput/bladerfinput.cpp b/plugins/samplesource/bladerfinput/bladerfinput.cpp index 774c6e858..e68bd5dec 100644 --- a/plugins/samplesource/bladerfinput/bladerfinput.cpp +++ b/plugins/samplesource/bladerfinput/bladerfinput.cpp @@ -44,8 +44,12 @@ BladerfInput::BladerfInput(DeviceSourceAPI *deviceAPI) : BladerfInput::~BladerfInput() { - stop(); - m_deviceAPI->setBuddySharedPtr(0); + if (m_dev != 0) + { + stop(); + } + + m_deviceAPI->setBuddySharedPtr(0); } bool BladerfInput::init(const Message& cmd) @@ -197,7 +201,6 @@ void BladerfInput::stop() if(m_dev != 0) // close BladeRF { bladerf_close(m_dev); - m_dev = 0; } } } @@ -206,11 +209,11 @@ void BladerfInput::stop() if(m_dev != 0) // close BladeRF { bladerf_close(m_dev); - m_dev = 0; } } m_sharedParams.m_dev = 0; + m_dev = 0; // if(m_dev != 0) // {