diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp b/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp index eacaa7f4acd296ac9f1982c53e70ccec4660ce73..462e26fe8367ae48c42f210fa938afc858da48dc 100644 --- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp +++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerpreconfiguredsessiontests.cpp @@ -197,17 +197,19 @@ bool ClangStaticAnalyzerPreconfiguredSessionTests::switchToProjectAndTarget(Proj if (project == activeProject && target == activeProject->activeTarget()) return true; // OK, desired project/target already active. - QSignalSpy waitUntilProjectUpdated(CppModelManager::instance(), - &CppModelManager::projectPartsUpdated); - if (project != activeProject) m_sessionManager.setStartupProject(project); - m_sessionManager.setActiveTarget(project, target, ProjectExplorer::SetActive::NoCascade); - const bool waitResult = waitUntilProjectUpdated.wait(30000); - if (!waitResult) { - qWarning() << "waitUntilProjectUpdated() failed"; - return false; + if (target != project->activeTarget()) { + QSignalSpy waitUntilProjectUpdated(CppModelManager::instance(), + &CppModelManager::projectPartsUpdated); + m_sessionManager.setActiveTarget(project, target, ProjectExplorer::SetActive::NoCascade); + + const bool waitResult = waitUntilProjectUpdated.wait(30000); + if (!waitResult) { + qWarning() << "waitUntilProjectUpdated() failed"; + return false; + } } return true;