From 15ee71b3247f709685889ec38d198d1132a9ef54 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 7 Dec 2009 12:03:31 +0100
Subject: [PATCH] Disable the indexer when m_indexerEnabled is false.

---
 src/plugins/cpptools/cppmodelmanager.cpp | 8 ++++----
 src/plugins/cpptools/cppmodelmanager.h   | 1 +
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 76d80b00140..37da79ee9f8 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -591,8 +591,6 @@ Document::Ptr CppPreprocessor::switchDocument(Document::Ptr doc)
     return previousDoc;
 }
 
-
-
 void CppTools::CppModelManagerInterface::updateModifiedSourceFiles()
 {
     const Snapshot snapshot = this->snapshot();
@@ -633,6 +631,7 @@ CppModelManager::CppModelManager(QObject *parent)
     : CppModelManagerInterface(parent)
 {
     m_findReferences = new CppFindReferences(this);
+    m_indexerEnabled = qgetenv("QTCREATOR_NO_CODE_INDEXER").isNull();
 
     m_revision = 0;
     m_synchronizer.setCancelOnWait(true);
@@ -848,7 +847,7 @@ void CppModelManager::updateProjectInfo(const ProjectInfo &pinfo)
     m_projects.insert(pinfo.project, pinfo);
     m_dirty = true;
 
-    if (qgetenv("QTCREATOR_NO_CODE_INDEXER").isNull()) {
+    if (m_indexerEnabled) {
         QFuture<void> result = QtConcurrent::run(&CppModelManager::updateIncludesInPaths,
                                                  this,
                                                  pinfo.includePaths,
@@ -870,7 +869,7 @@ QStringList CppModelManager::includesInPath(const QString &path) const
 
 QFuture<void> CppModelManager::refreshSourceFiles(const QStringList &sourceFiles)
 {
-    if (! sourceFiles.isEmpty() && qgetenv("QTCREATOR_NO_CODE_INDEXER").isNull()) {
+    if (! sourceFiles.isEmpty() && m_indexerEnabled) {
         const QMap<QString, QString> workingCopy = buildWorkingCopyList();
 
         CppPreprocessor *preproc = new CppPreprocessor(this);
@@ -900,6 +899,7 @@ QFuture<void> CppModelManager::refreshSourceFiles(const QStringList &sourceFiles
             m_core->progressManager()->addTask(result, tr("Indexing"),
                             CppTools::Constants::TASK_INDEX);
         }
+
         return result;
     }
     return QFuture<void>();
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index 4222ccab6be..ded376738f7 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -217,6 +217,7 @@ private:
     unsigned m_revision;
 
     CppFindReferences *m_findReferences;
+    bool m_indexerEnabled;
 };
 
 } // namespace Internal
-- 
GitLab