TreeScanner: Do not trigger signals in destructor

Do not trigger signals in the destructor of the treescanner. The
object is not prepared to handle anyone reacting to that signal
anymore.

This fixes the crash described in QTCREATORBUG-23781.

Task-number: QTCREATORBUG-23781
Change-Id: Ia00173f8734461f1d484fa6f7a86f3a45f970e3f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Tobias Hunger
2020-03-30 14:56:40 +02:00
parent e0751d56d0
commit 0880cfb75c

View File

@@ -51,6 +51,8 @@ TreeScanner::TreeScanner(QObject *parent) : QObject(parent)
TreeScanner::~TreeScanner() TreeScanner::~TreeScanner()
{ {
disconnect(&m_futureWatcher, nullptr, nullptr, nullptr); // Do not trigger signals anymore!
if (!m_futureWatcher.isFinished()) { if (!m_futureWatcher.isFinished()) {
m_futureWatcher.cancel(); m_futureWatcher.cancel();
m_futureWatcher.waitForFinished(); m_futureWatcher.waitForFinished();