summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/CppDocument.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-06-04 11:42:02 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2009-06-04 11:42:02 +0200
commitcd3022dc3eb1c1ca762dedf7b8d03e97a7210a6d (patch)
tree049ff221f408f1ffea9a745f88067015276c50aa /src/libs/cplusplus/CppDocument.cpp
parentf55d5500c5f46471861537dbcea09d737d4b064b (diff)
downloadqt-creator-cd3022dc3eb1c1ca762dedf7b8d03e97a7210a6d.tar.gz
Show all the warn messages.
Diffstat (limited to 'src/libs/cplusplus/CppDocument.cpp')
-rw-r--r--src/libs/cplusplus/CppDocument.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp
index 786f07a79b..b181b01f74 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