diff --git a/src/tools/clangbackend/source/clangcodemodelserver.cpp b/src/tools/clangbackend/source/clangcodemodelserver.cpp index 66caaf2b492..218679c3cb9 100644 --- a/src/tools/clangbackend/source/clangcodemodelserver.cpp +++ b/src/tools/clangbackend/source/clangcodemodelserver.cpp @@ -102,9 +102,11 @@ void ClangCodeModelServer::documentsOpened(const ClangBackEnd::DocumentsOpenedMe QVector toCreate; categorizeFileContainers(message.fileContainers, toCreate, toReset); - const std::vector createdDocuments = documents.create(toCreate); - for (const auto &document : createdDocuments) + std::vector createdDocuments = documents.create(toCreate); + for (auto &document : createdDocuments) { + document.setDirtyIfDependencyIsMet(document.filePath()); documentProcessors().create(document); + } const std::vector resetDocuments_ = resetDocuments(toReset); unsavedFiles.createOrUpdate(message.fileContainers); @@ -341,8 +343,7 @@ void ClangCodeModelServer::processJobsForVisibleDocuments() void ClangCodeModelServer::processJobsForCurrentDocument() { auto currentDocuments = documents.filtered([](const Document &document) { - return document.isUsedByCurrentEditor() - && (document.isDirty() || document.documentRevision() == 1); + return document.isUsedByCurrentEditor() && document.isDirty(); }); QTC_CHECK(currentDocuments.size() <= 1); diff --git a/tests/unit/unittest/clangcodemodelserver-test.cpp b/tests/unit/unittest/clangcodemodelserver-test.cpp index 0446384232d..ea0be4a6187 100644 --- a/tests/unit/unittest/clangcodemodelserver-test.cpp +++ b/tests/unit/unittest/clangcodemodelserver-test.cpp @@ -311,11 +311,11 @@ TEST_F(ClangCodeModelServerSlowTest, GetNewCodeCompletionAfterUpdatingUnsavedFil requestCompletionsInFileA(); } -TEST_F(ClangCodeModelServerSlowTest, TranslationUnitAfterCreationIsNotDirty) +TEST_F(ClangCodeModelServerSlowTest, OpenedDocumentsAreDirty) { openDocument(filePathA, AnnotationJobsMultiplier); - ASSERT_THAT(clangServer, HasDirtyDocument(filePathA, 0U, false, false)); + ASSERT_THAT(clangServer, HasDirtyDocument(filePathA, 0U, true, false)); } TEST_F(ClangCodeModelServerSlowTest, SetCurrentAndVisibleEditor)