From da4c7b2a81527cb92710ab93f9e27a30b9df4050 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 22 Aug 2014 09:39:38 +0200 Subject: [PATCH] QbsProjectManager: Don't leak the "Reading project" progress bar. If a qbs project gets closed (e.g. due to a session switch) while the project is being loaded, the corresponding QFuture does not get deleted and the progress bar will be around forever. This patch fixes that. Note: The project resolving by qbs was already correctly canceled; this is about the visual effect only. Change-Id: If00aed949505088cfdb87d08e26f3b62ccea5fd1 Reviewed-by: Joerg Bornemann --- src/plugins/qbsprojectmanager/qbsproject.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 622b88f492e..11d20a80e44 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -131,6 +131,11 @@ QbsProject::~QbsProject() { m_codeModelFuture.cancel(); delete m_qbsProjectParser; + if (m_qbsUpdateFutureInterface) { + m_qbsUpdateFutureInterface->reportCanceled(); + delete m_qbsUpdateFutureInterface; + m_qbsUpdateFutureInterface = 0; + } // Deleting the root node triggers a few things, make sure rootProjectNode // returns 0 already