diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-07-07 15:02:14 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-07-10 14:04:07 +0000 |
commit | 442bdbded2b2268efcb3be1a969d432533023366 (patch) | |
tree | 9bda03fd90c90de0385bde77d25d32f15cc9856b /src/plugins/cpptools/cppsourceprocessor_test.cpp | |
parent | 91c497b1aebaf4b24ac1e5b884940820c6a0a88c (diff) | |
download | qt-creator-442bdbded2b2268efcb3be1a969d432533023366.tar.gz |
CppTools: Avoid unnecessary blocking of main thread
Among others, BaseEditorDocumentParser::projectPart() was a blocking
operation in case the parser was running. This led to noticeable GUI
freezes for the ClangCodeModel since the function was called from the
main thread.
Rework *EditorDocumentParser to clearly separate the configuration data
(input) from the actual object state. Querying/setting configuration or
(last) state does not block anymore. update() is supposed to get the
necessary configuration and the last state at the beginning and to set
the new state at end.
Change-Id: Ib4b534fa6ff373c3059826726b3f10ece95acc21
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppsourceprocessor_test.cpp')
-rw-r--r-- | src/plugins/cpptools/cppsourceprocessor_test.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppsourceprocessor_test.cpp b/src/plugins/cpptools/cppsourceprocessor_test.cpp index 378d1ae413..518eece226 100644 --- a/src/plugins/cpptools/cppsourceprocessor_test.cpp +++ b/src/plugins/cpptools/cppsourceprocessor_test.cpp @@ -137,6 +137,7 @@ void CppToolsPlugin::test_cppsourceprocessor_includes_cyclic() const QString filePath = editor->document()->filePath().toString(); auto *processor = BaseEditorDocumentProcessor::get(filePath); QVERIFY(processor); + QVERIFY(TestCase::waitForProcessedEditorDocument(filePath)); Snapshot snapshot = processor->snapshot(); QCOMPARE(snapshot.size(), 3); // Configuration file included |