From cd3022dc3eb1c1ca762dedf7b8d03e97a7210a6d Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Thu, 4 Jun 2009 11:42:02 +0200
Subject: [PATCH] Show all the warn messages.

---
 src/libs/cplusplus/CppDocument.cpp       | 13 ++++++++++---
 src/plugins/cpptools/cppmodelmanager.cpp |  2 +-
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index 786f07a79bf..b181b01f74b 100644
--- a/src/libs/cplusplus/CppDocument.cpp
+++ b/src/libs/cplusplus/CppDocument.cpp
@@ -55,7 +55,8 @@ class DocumentDiagnosticClient : public DiagnosticClient
 public:
     DocumentDiagnosticClient(Document *doc, QList<Document::DiagnosticMessage> *messages)
         : doc(doc),
-          messages(messages)
+          messages(messages),
+          errorCount(0)
     { }
 
     virtual void report(int level,
@@ -63,8 +64,12 @@ public:
                         unsigned line, unsigned column,
                         const char *format, va_list ap)
     {
-        if (messages->count() == MAX_MESSAGE_COUNT)
-            return;
+        if (level == Error) {
+            ++errorCount;
+
+            if (errorCount >= MAX_MESSAGE_COUNT)
+                return; // ignore the error
+        }
 
         const QString fileName = QString::fromUtf8(fileId->chars(), fileId->size());
 
@@ -88,8 +93,10 @@ public:
         }
     }
 
+private:
     Document *doc;
     QList<Document::DiagnosticMessage> *messages;
+    int errorCount;
 };
 
 } // anonymous namespace
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index ee3b3680823..8cb06934474 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -379,7 +379,7 @@ protected:
                     }
 
                     Overview oo;
-                    translationUnit()->warning(ast->firstToken(), "`%s' is not a type-name",
+                    translationUnit()->warning(ast->firstToken(), "`%s' is not a type name",
                                                qPrintable(oo(ast->name->name)));
                 }
             }
-- 
GitLab