From b07c1be547d7beb432c43bb8f0c9301595a0dde8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com>
Date: Tue, 13 Oct 2009 12:12:51 +0200
Subject: [PATCH] Fixed a crash on exit when include files are still being
 scanned

Found by Roberto.
---
 src/plugins/cpptools/cppmodelmanager.cpp | 4 ++--
 src/plugins/cpptools/cppmodelmanager.h   | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index f0373e89bf8..1d886920566 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -727,7 +727,7 @@ QByteArray CppModelManager::internalDefinedMacros() const
     return macros;
 }
 
-void CppModelManager::setIncludesInPaths(const QMap<QString, QStringList> includesInPaths)
+void CppModelManager::setIncludesInPaths(const QMap<QString, QStringList> &includesInPaths)
 {
     QMutexLocker locker(&mutex);
     QMapIterator<QString, QStringList> i(includesInPaths);
@@ -1182,7 +1182,7 @@ void CppModelManager::updateIncludesInPaths(QFutureInterface<void> &future,
             future.waitForResume();
 
         if (future.isCanceled())
-            break;
+            return;
 
         const QString path = paths.takeFirst();
 
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index 0e7b0271ce1..4222ccab6be 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -163,7 +163,7 @@ private:
     QStringList internalFrameworkPaths() const;
     QByteArray internalDefinedMacros() const;
 
-    void setIncludesInPaths(const QMap<QString, QStringList> includesInPaths);
+    void setIncludesInPaths(const QMap<QString, QStringList> &includesInPaths);
 
     static void updateIncludesInPaths(QFutureInterface<void> &future,
                                       CppModelManager *manager,
-- 
GitLab