1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-24 11:12:27 -04:00

SoapySDR: fixed memory leaks

This commit is contained in:
f4exb 2018-12-04 01:03:21 +01:00
parent 4a69a7d39f
commit 13afa2e45f
8 changed files with 26 additions and 6 deletions

View File

@ -35,7 +35,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
*/ */
QCoreApplication::setOrganizationName("f4exb"); QCoreApplication::setOrganizationName("f4exb");
QCoreApplication::setApplicationName("SDRangel"); QCoreApplication::setApplicationName("SDRangel");
QCoreApplication::setApplicationVersion("4.3.1"); QCoreApplication::setApplicationVersion("4.3.2");
#if QT_VERSION >= 0x050600 #if QT_VERSION >= 0x050600
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps

View File

@ -57,7 +57,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
QCoreApplication::setOrganizationName("f4exb"); QCoreApplication::setOrganizationName("f4exb");
QCoreApplication::setApplicationName("SDRangelBench"); QCoreApplication::setApplicationName("SDRangelBench");
QCoreApplication::setApplicationVersion("4.3.1"); QCoreApplication::setApplicationVersion("4.3.2");
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP}; int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int)); std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));

View File

@ -56,7 +56,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
QCoreApplication::setOrganizationName("f4exb"); QCoreApplication::setOrganizationName("f4exb");
QCoreApplication::setApplicationName("SDRangelSrv"); QCoreApplication::setApplicationName("SDRangelSrv");
QCoreApplication::setApplicationVersion("4.3.1"); QCoreApplication::setApplicationVersion("4.3.2");
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP}; int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int)); std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
sdrangel (4.3.2-1) unstable; urgency=medium
* SoapySDR support: fixed memory leaks
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 09 Dec 2018 21:14:18 +0100
sdrangel (4.3.1-1) unstable; urgency=medium sdrangel (4.3.1-1) unstable; urgency=medium
* RTL-SDR: offset tuning support * RTL-SDR: offset tuning support

View File

@ -482,6 +482,9 @@ bool SoapySDROutput::start()
((DeviceSoapySDRShared*) (*it)->getBuddySharedPtr())->m_sink->setThread(0); ((DeviceSoapySDRShared*) (*it)->getBuddySharedPtr())->m_sink->setThread(0);
} }
delete[] log2Interps;
delete[] fifos;
needsStart = true; needsStart = true;
} }
else else
@ -609,6 +612,9 @@ void SoapySDROutput::stop()
qDebug("SoapySDROutput::stop: restarting the thread"); qDebug("SoapySDROutput::stop: restarting the thread");
soapySDROutputThread->startWork(); soapySDROutputThread->startWork();
} }
delete[] log2Interps;
delete[] fifos;
} }
else // remove channel from existing thread else // remove channel from existing thread
{ {

View File

@ -31,7 +31,7 @@
const PluginDescriptor SoapySDROutputPlugin::m_pluginDescriptor = { const PluginDescriptor SoapySDROutputPlugin::m_pluginDescriptor = {
QString("SoapySDR Output"), QString("SoapySDR Output"),
QString("4.3.1"), QString("4.3.2"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,

View File

@ -518,6 +518,10 @@ bool SoapySDRInput::start()
((DeviceSoapySDRShared*) (*it)->getBuddySharedPtr())->m_source->setThread(0); ((DeviceSoapySDRShared*) (*it)->getBuddySharedPtr())->m_source->setThread(0);
} }
delete[] fcPoss;
delete[] log2Decims;
delete[] fifos;
needsStart = true; needsStart = true;
} }
else else
@ -653,6 +657,10 @@ void SoapySDRInput::stop()
qDebug("SoapySDRInput::stop: restarting the thread"); qDebug("SoapySDRInput::stop: restarting the thread");
soapySDRInputThread->startWork(); soapySDRInputThread->startWork();
} }
delete[] fcPoss;
delete[] log2Decims;
delete[] fifos;
} }
else // remove channel from existing thread else // remove channel from existing thread
{ {
@ -1257,7 +1265,7 @@ bool SoapySDRInput::applySettings(const SoapySDRInputSettings& settings, bool fo
if (getMessageQueueToGUI()) if (getMessageQueueToGUI())
{ {
MsgReportGainChange *report = MsgReportGainChange::create(m_settings, individualGainsChanged, globalGainChanged); MsgReportGainChange *report = MsgReportGainChange::create(m_settings, globalGainChanged, individualGainsChanged);
getMessageQueueToGUI()->push(report); getMessageQueueToGUI()->push(report);
} }
} }

View File

@ -30,7 +30,7 @@
const PluginDescriptor SoapySDRInputPlugin::m_pluginDescriptor = { const PluginDescriptor SoapySDRInputPlugin::m_pluginDescriptor = {
QString("SoapySDR Input"), QString("SoapySDR Input"),
QString("4.3.1"), QString("4.3.2"),
QString("(c) Edouard Griffiths, F4EXB"), QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,