1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-29 07:25:26 -04:00

Main Window: moved source/sink API destruction last

This commit is contained in:
f4exb 2018-02-15 00:25:50 +01:00
parent 2d519abbb6
commit 8c05974686
2 changed files with 7 additions and 2 deletions

View File

@ -39,6 +39,7 @@ void DevicePerseusScan::scan(int nbDevices)
if (perseus_firmware_download(descr, 0) < 0) { if (perseus_firmware_download(descr, 0) < 0) {
qCritical("DevicePerseusScan::scan: firmware download error: %s", perseus_errorstr()); qCritical("DevicePerseusScan::scan: firmware download error: %s", perseus_errorstr());
perseus_close(descr);
continue; continue;
} }
else else

View File

@ -395,11 +395,13 @@ void MainWindow::removeLastDevice()
ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName); ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName);
} }
delete m_deviceUIs.back()->m_deviceSourceAPI; DeviceSourceAPI *sourceAPI = m_deviceUIs.back()->m_deviceSourceAPI;
delete m_deviceUIs.back(); delete m_deviceUIs.back();
lastDeviceEngine->stop(); lastDeviceEngine->stop();
m_dspEngine->removeLastDeviceSourceEngine(); m_dspEngine->removeLastDeviceSourceEngine();
delete sourceAPI;
} }
else if (m_deviceUIs.back()->m_deviceSinkEngine) // sink tab else if (m_deviceUIs.back()->m_deviceSinkEngine) // sink tab
{ {
@ -435,11 +437,13 @@ void MainWindow::removeLastDevice()
ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName); ui->tabInputsView->setTabToolTip(i, m_deviceWidgetTabs[i].displayName);
} }
delete m_deviceUIs.back()->m_deviceSinkAPI; DeviceSinkAPI *sinkAPI = m_deviceUIs.back()->m_deviceSinkAPI;
delete m_deviceUIs.back(); delete m_deviceUIs.back();
lastDeviceEngine->stop(); lastDeviceEngine->stop();
m_dspEngine->removeLastDeviceSinkEngine(); m_dspEngine->removeLastDeviceSinkEngine();
delete sinkAPI;
} }
m_deviceUIs.pop_back(); m_deviceUIs.pop_back();