1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-25 19:44:12 -04:00

DeviceSet and DeviceUISet: use delete channel API instead of destroy method so that the virtual destructor of the channel is called appropriately

This commit is contained in:
f4exb
2024-08-19 00:31:55 +02:00
parent 24dba6f7f1
commit 49074d1ce9
3 changed files with 11 additions and 13 deletions
+5 -5
View File
@@ -170,7 +170,7 @@ void DeviceUISet::freeChannels()
{
qDebug("DeviceUISet::freeChannels: destroying channel [%s]", qPrintable(m_channelInstanceRegistrations[i].m_channelAPI->getURI()));
m_channelInstanceRegistrations[i].m_gui->destroy();
m_channelInstanceRegistrations[i].m_channelAPI->destroy();
delete m_channelInstanceRegistrations[i].m_channelAPI;
}
m_channelInstanceRegistrations.clear();
@@ -185,7 +185,7 @@ void DeviceUISet::deleteChannel(int channelIndex)
qPrintable(m_channelInstanceRegistrations[channelIndex].m_channelAPI->getURI()),
channelIndex);
m_channelInstanceRegistrations[channelIndex].m_gui->destroy();
m_channelInstanceRegistrations[channelIndex].m_channelAPI->destroy();
delete m_channelInstanceRegistrations[channelIndex].m_channelAPI;
m_channelInstanceRegistrations.removeAt(channelIndex);
}
@@ -324,7 +324,7 @@ void DeviceUISet::loadRxChannelSettings(const Preset *preset, PluginAPI *pluginA
qPrintable(m_channelInstanceRegistrations[i].m_channelAPI->getURI()));
m_channelInstanceRegistrations[i].m_channelAPI->setMessageQueueToGUI(nullptr); // have channel stop sending messages to its GUI
m_channelInstanceRegistrations[i].m_gui->destroy();
m_channelInstanceRegistrations[i].m_channelAPI->destroy();
delete m_channelInstanceRegistrations[i].m_channelAPI;
}
m_channelInstanceRegistrations.clear();
@@ -453,7 +453,7 @@ void DeviceUISet::loadTxChannelSettings(const Preset *preset, PluginAPI *pluginA
qPrintable(m_channelInstanceRegistrations[i].m_channelAPI->getURI()));
m_channelInstanceRegistrations[i].m_channelAPI->setMessageQueueToGUI(nullptr); // have channel stop sending messages to its GUI
m_channelInstanceRegistrations[i].m_gui->destroy();
m_channelInstanceRegistrations[i].m_channelAPI->destroy();
delete m_channelInstanceRegistrations[i].m_channelAPI;
}
m_channelInstanceRegistrations.clear();
@@ -579,7 +579,7 @@ void DeviceUISet::loadMIMOChannelSettings(const Preset *preset, PluginAPI *plugi
qDebug("DeviceUISet::loadMIMOChannelSettings: destroying old channel [%s]",
qPrintable(m_channelInstanceRegistrations[i].m_channelAPI->getURI()));
m_channelInstanceRegistrations[i].m_gui->destroy(); // stop GUI first (issue #1427)
m_channelInstanceRegistrations[i].m_channelAPI->destroy(); // stop channel before (issue #860)
delete m_channelInstanceRegistrations[i].m_channelAPI; // stop channel before (issue #860)
}
m_channelInstanceRegistrations.clear();