diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2010-03-24 15:53:39 +0100 |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2010-03-24 15:54:13 +0100 |
commit | 645cfb59ba156fd3cdfd5b3a64f9f61b7d6ff250 (patch) | |
tree | bcf33aa7f0c6fa61f418bebac56a81c679c70873 /src/plugins/cpptools/cpptoolseditorsupport.cpp | |
parent | 7e5902f385319ae20b52784250072495caaa2d97 (diff) | |
download | qt-creator-645cfb59ba156fd3cdfd5b3a64f9f61b7d6ff250.tar.gz |
Ignore outdated parsing requests.
Diffstat (limited to 'src/plugins/cpptools/cpptoolseditorsupport.cpp')
-rw-r--r-- | src/plugins/cpptools/cpptoolseditorsupport.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp index 83f1becd5a..f14b3174cd 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.cpp +++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp @@ -49,6 +49,8 @@ CppEditorSupport::CppEditorSupport(CppModelManager *modelManager) _modelManager(modelManager), _updateDocumentInterval(UPDATE_DOCUMENT_DEFAULT_INTERVAL) { + _revision = 0; + _updateDocumentTimer = new QTimer(this); _updateDocumentTimer->setSingleShot(true); _updateDocumentTimer->setInterval(_updateDocumentInterval); @@ -102,6 +104,8 @@ void CppEditorSupport::setUpdateDocumentInterval(int updateDocumentInterval) void CppEditorSupport::updateDocument() { + _revision = editorRevision(); + if (TextEditor::BaseTextEditor *edit = qobject_cast<TextEditor::BaseTextEditor*>(_textEditor->widget())) { const QList<QTextEdit::ExtraSelection> selections = edit->extraSelections(TextEditor::BaseTextEditor::CodeWarningsSelection); @@ -114,7 +118,7 @@ void CppEditorSupport::updateDocument() void CppEditorSupport::updateDocumentNow() { - if (_documentParser.isRunning()) { + if (_documentParser.isRunning() || _revision != editorRevision()) { _updateDocumentTimer->start(_updateDocumentInterval); } else { _updateDocumentTimer->stop(); |