diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 737f7fc17e9..7072506512b 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -518,7 +518,7 @@ void QbsBuildSystem::handleQbsParsingDone(bool success) m_qbsUpdateFutureInterface->reportCanceled(); } - m_qbsProjectParser->deleteLater(); + m_qbsProjectParser->deleteLaterSafely(); m_qbsProjectParser = nullptr; m_qbsUpdateFutureInterface->reportFinished(); delete m_qbsUpdateFutureInterface; diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.h b/src/plugins/qbsprojectmanager/qbsprojectparser.h index 7b793fa5d24..454211b35f9 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectparser.h +++ b/src/plugins/qbsprojectmanager/qbsprojectparser.h @@ -30,6 +30,9 @@ public: void cancel(); Utils::Environment environment() const { return m_environment; } + // FIXME: Why on earth do we not own the FutureInterface? + void deleteLaterSafely() { m_fi = nullptr; deleteLater(); } + QbsSession *session() const { return m_session; } QJsonObject projectData() const { return m_projectData; } ErrorInfo error() const { return m_error; }