From 0803390a8375597a380ab06927b0dbe6d0e00ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= Date: Sun, 27 Feb 2022 17:20:53 +0100 Subject: [PATCH] QbsProjectManager: Directly delete project parser It holds a pointer to the future which is deleted directly 3 lines below. And a signal (taskStarted) can come to the parser before it gets deleted, then accessing the deleted future. Which results in a segmentation fault. Change-Id: I468c6477023488d6d922d6bf621cba886740d8f4 Reviewed-by: Christian Kandeler --- src/plugins/qbsprojectmanager/qbsproject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 1ce9752f9f4..8a78718cf54 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -561,7 +561,7 @@ void QbsBuildSystem::handleQbsParsingDone(bool success) m_qbsUpdateFutureInterface->reportCanceled(); } - m_qbsProjectParser->deleteLater(); + delete m_qbsProjectParser; m_qbsProjectParser = nullptr; m_qbsUpdateFutureInterface->reportFinished(); delete m_qbsUpdateFutureInterface;