diff options
author | Nikolai Kosjar <[email protected]> | 2015-01-19 13:14:45 +0100 |
---|---|---|
committer | Nikolai Kosjar <[email protected]> | 2015-04-24 08:35:13 +0000 |
commit | d4bb5033b251e8afb612158011ebd89082664345 (patch) | |
tree | 0a160dfaab09fa13bea98e84e021747f96c3ec1f /src/plugins/cpptools/cpptoolsplugin.h | |
parent | f878da0ea8be0563abb49af9cd7ea58c0063d830 (diff) |
CppTools: Remove separate indexing revision
For indexing we used a custom revision that was updated on each
modelManager BuiltinIndexingSupport::refreshSourceFiles() call. This
could lead to rejection of updated documents triggered by refactoring
actions, like for the following case:
1. Open a project containing a.h and a.cpp
2. Open a.cpp, insert some new lines, save and close the document
3. Open a.h and rename a function that is defined in a.cpp
--> The refactoring action modifies a.h and a.cpp, so re-indexing
of those is triggered. Since a.cpp has already a higher revision
(step 2) than the updated document, the updated document is
discarded. As a consequence find usages and follow symbol fails
for the renamed function.
Now the document call back provided to CppSourceProcessor is responsible
for updating the document revision based on the latest revision in the
global snapshot.
Change-Id: I4dfa0a4d34991655acfa749109f00c47b0fbfdbe
Reviewed-by: Orgad Shaneh <[email protected]>
Reviewed-by: Erik Verbruggen <[email protected]>
Reviewed-by: Eike Ziller <[email protected]>
Diffstat (limited to 'src/plugins/cpptools/cpptoolsplugin.h')
-rw-r--r-- | src/plugins/cpptools/cpptoolsplugin.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cpptoolsplugin.h b/src/plugins/cpptools/cpptoolsplugin.h index ea9cc91ed74..59255029242 100644 --- a/src/plugins/cpptools/cpptoolsplugin.h +++ b/src/plugins/cpptools/cpptoolsplugin.h @@ -158,6 +158,7 @@ private slots: void test_modelmanager_updateEditorsAfterProjectUpdate(); void test_modelmanager_precompiled_headers(); void test_modelmanager_renameIncludes(); + void test_modelmanager_documentsAndRevisions(); void test_cpplocatorfilters_CppLocatorFilter(); void test_cpplocatorfilters_CppLocatorFilter_data(); |