• Nikolai Kosjar's avatar
    QbsProjectManager: Fix SOFT ASSERT: "future.isFinished()" · 1cbb4cc9
    Nikolai Kosjar authored
    ...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: default avatarChristian Kandeler <christian.kandeler@theqtcompany.com>
    Reviewed-by: Eike Ziller's avatarEike Ziller <eike.ziller@qt.io>
    1cbb4cc9
qbsproject.cpp 35.3 KB