From fdce34204f67823376690db1292b710c9cd8bb53 Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 3 Feb 2023 02:14:54 +0100 Subject: [PATCH] TestSource: use queued connection for connecting worker's deleteLater. Fixes possible crash on exit --- plugins/feature/demodanalyzer/demodanalyzer.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/feature/demodanalyzer/demodanalyzer.cpp b/plugins/feature/demodanalyzer/demodanalyzer.cpp index 61d095f1a..11bdc0564 100644 --- a/plugins/feature/demodanalyzer/demodanalyzer.cpp +++ b/plugins/feature/demodanalyzer/demodanalyzer.cpp @@ -690,7 +690,20 @@ void DemodAnalyzer::handleDataPipeToBeDeleted(int reason, QObject *object) m_worker->getInputMessageQueue()->push(msg); } - updateChannels(); + m_availableChannels.remove((ChannelAPI*) object); m_selectedChannel = nullptr; + + if (getMessageQueueToGUI()) + { + MsgReportChannels *msgToGUI = MsgReportChannels::create(); + QList& msgAvailableChannels = msgToGUI->getAvailableChannels(); + QHash::iterator it = m_availableChannels.begin(); + + for (; it != m_availableChannels.end(); ++it) { + msgAvailableChannels.push_back(*it); + } + + getMessageQueueToGUI()->push(msgToGUI); + } } }