QbsProjectManager: Fix SOFT ASSERT: "future.isFinished()"
...in file qbsproject.cpp, line 940. The assert can be triggered with e.g.: 1. Load a bigger qbs project, e.g. qtcreator.qbs. 2. Trigger project build as soon as possible. 3. Cancel the "Parsing C/C++" operation. 4. Wait until the build finished and the assert occurs. This happens because CppModelManager::updateProjectInfo() since commit 536ccc8a CppTools: Fix incompletely indexed project will check whether the previous indexer run was canceled or not. If it was canceled, it will trigger a full-reindexing of the project. Updating the compiler call data is a special case and it should never trigger an indexing operation, so introduce a dedicated update function for this case. Change-Id: I456945ccf2bf697aaeada572ed87f3acb21a5eaf Reviewed-by:Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by:
Eike Ziller <eike.ziller@qt.io>
Showing
- src/plugins/cpptools/cppmodelmanager.cpp 13 additions, 0 deletionssrc/plugins/cpptools/cppmodelmanager.cpp
- src/plugins/cpptools/cppmodelmanager.h 3 additions, 1 deletionsrc/plugins/cpptools/cppmodelmanager.h
- src/plugins/qbsprojectmanager/qbsproject.cpp 1 addition, 3 deletionssrc/plugins/qbsprojectmanager/qbsproject.cpp
Loading
Please register or sign in to comment