mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-05 22:57:47 -04:00
Server: fix possible core dumps in device sink/source APIs saveSinkSettings or saveSourceSettings by removing reference to pluginInstanceUI which is null in server mode
This commit is contained in:
parent
61d4de4601
commit
92a4639a17
@ -294,7 +294,7 @@ void DeviceSinkAPI::saveSinkSettings(Preset* preset)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
qDebug("DeviceSinkAPI::saveSourceSettings: %s", qPrintable(m_sampleSinkPluginInstanceUI->getName()));
|
qDebug("DeviceSinkAPI::saveSourceSettings: serializing sink %s[%d]: %s", qPrintable(m_sampleSinkId), m_sampleSinkSequence, qPrintable(m_sampleSinkSerial));
|
||||||
|
|
||||||
if (m_sampleSinkPluginInstanceUI != 0) // GUI flavor
|
if (m_sampleSinkPluginInstanceUI != 0) // GUI flavor
|
||||||
{
|
{
|
||||||
|
@ -281,7 +281,7 @@ void DeviceSourceAPI::saveSourceSettings(Preset* preset)
|
|||||||
{
|
{
|
||||||
if (preset->isSourcePreset())
|
if (preset->isSourcePreset())
|
||||||
{
|
{
|
||||||
qDebug("DeviceSourceAPI::saveSourceSettings: %s", qPrintable(m_sampleSourcePluginInstanceUI->getName()));
|
qDebug("DeviceSourceAPI::saveSourceSettings: serializing source %s[%d]: %s", qPrintable(m_sampleSourceId), m_sampleSourceSequence, qPrintable(m_sampleSourceSerial));
|
||||||
|
|
||||||
if (m_sampleSourcePluginInstanceUI != 0)
|
if (m_sampleSourcePluginInstanceUI != 0)
|
||||||
{
|
{
|
||||||
|
@ -344,6 +344,7 @@ void MainCore::changeSampleSource(int deviceSetIndex, int selectedDeviceIndex)
|
|||||||
{
|
{
|
||||||
qDebug("MainCore::changeSampleSource: deviceSet at %d", deviceSetIndex);
|
qDebug("MainCore::changeSampleSource: deviceSet at %d", deviceSetIndex);
|
||||||
DeviceSet *deviceSet = m_deviceSets[deviceSetIndex];
|
DeviceSet *deviceSet = m_deviceSets[deviceSetIndex];
|
||||||
|
deviceSet->m_deviceSourceAPI->saveSourceSettings(m_settings.getWorkingPreset()); // save old API settings
|
||||||
deviceSet->m_deviceSourceAPI->stopAcquisition();
|
deviceSet->m_deviceSourceAPI->stopAcquisition();
|
||||||
|
|
||||||
// deletes old UI and input object
|
// deletes old UI and input object
|
||||||
@ -400,6 +401,8 @@ void MainCore::changeSampleSource(int deviceSetIndex, int selectedDeviceIndex)
|
|||||||
DeviceSampleSource *source = deviceSet->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceInput(
|
DeviceSampleSource *source = deviceSet->m_deviceSourceAPI->getPluginInterface()->createSampleSourcePluginInstanceInput(
|
||||||
deviceSet->m_deviceSourceAPI->getSampleSourceId(), deviceSet->m_deviceSourceAPI);
|
deviceSet->m_deviceSourceAPI->getSampleSourceId(), deviceSet->m_deviceSourceAPI);
|
||||||
deviceSet->m_deviceSourceAPI->setSampleSource(source);
|
deviceSet->m_deviceSourceAPI->setSampleSource(source);
|
||||||
|
|
||||||
|
deviceSet->m_deviceSourceAPI->loadSourceSettings(m_settings.getWorkingPreset()); // load new API settings
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,6 +412,7 @@ void MainCore::changeSampleSink(int deviceSetIndex, int selectedDeviceIndex)
|
|||||||
{
|
{
|
||||||
qDebug("MainCore::changeSampleSink: device set at %d", deviceSetIndex);
|
qDebug("MainCore::changeSampleSink: device set at %d", deviceSetIndex);
|
||||||
DeviceSet *deviceSet = m_deviceSets[deviceSetIndex];
|
DeviceSet *deviceSet = m_deviceSets[deviceSetIndex];
|
||||||
|
deviceSet->m_deviceSinkAPI->saveSinkSettings(m_settings.getWorkingPreset()); // save old API settings
|
||||||
deviceSet->m_deviceSinkAPI->stopGeneration();
|
deviceSet->m_deviceSinkAPI->stopGeneration();
|
||||||
|
|
||||||
// deletes old UI and output object
|
// deletes old UI and output object
|
||||||
@ -465,6 +469,8 @@ void MainCore::changeSampleSink(int deviceSetIndex, int selectedDeviceIndex)
|
|||||||
DeviceSampleSink *sink = deviceSet->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceOutput(
|
DeviceSampleSink *sink = deviceSet->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceOutput(
|
||||||
deviceSet->m_deviceSinkAPI->getSampleSinkId(), deviceSet->m_deviceSinkAPI);
|
deviceSet->m_deviceSinkAPI->getSampleSinkId(), deviceSet->m_deviceSinkAPI);
|
||||||
deviceSet->m_deviceSinkAPI->setSampleSink(sink);
|
deviceSet->m_deviceSinkAPI->setSampleSink(sink);
|
||||||
|
|
||||||
|
deviceSet->m_deviceSinkAPI->loadSinkSettings(m_settings.getWorkingPreset()); // load new API settings
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user