Fix previous sink plugin GUI delete by doing it explicitly in the main window

pull/127/head
f4exb 2017-10-30 02:23:06 +01:00
rodzic c3b9c268ee
commit b770e656b3
2 zmienionych plików z 5 dodań i 1 usunięć

Wyświetl plik

@ -300,6 +300,11 @@ void MainWindow::addSinkDevice()
// create a file sink by default
m_pluginManager->selectSampleSinkBySerialOrSequence("sdrangel.samplesink.filesink", "0", 0, m_deviceUIs.back()->m_deviceSinkAPI);
// delete previous plugin GUI if it exists
m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->deleteSampleSourcePluginInstanceGUI(
m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkPluginInstanceGUI());
DeviceSampleSink *sink = m_deviceUIs.back()->m_deviceSinkAPI->getPluginInterface()->createSampleSinkPluginInstanceOutput(
m_deviceUIs.back()->m_deviceSinkAPI->getSampleSinkId(), m_deviceUIs.back()->m_deviceSinkAPI);
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSink(sink);

Wyświetl plik

@ -498,7 +498,6 @@ int PluginManager::selectSampleSinkBySerialOrSequence(const QString& sinkId, con
<< " seq: " << m_sampleSinkDevices[index].m_deviceSequence;
deviceAPI->stopGeneration();
deviceAPI->setSampleSinkPluginInstanceUI(0); // this effectively destroys the previous GUI if it exists
// m_sampleSourcePluginGUI = pluginGUI;
deviceAPI->setSampleSinkSequence(m_sampleSinkDevices[index].m_deviceSequence);