forked from qt-creator/qt-creator
QbsProjectManager: Fix project parsing crash
We called deleteLater() on the parser while immediately deleting an
object that was supposed to outlive the parser.
Amends 1231c9e546
.
Change-Id: I7ada041c4047d86249c5bdefc0c53e70dcdd5140
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -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;
|
||||
|
@@ -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; }
|
||||
|
Reference in New Issue
Block a user