forked from qt-creator/qt-creator
		
	CppTools: Turn some classes into pure value types
ProjectInfo, ProjectPart and ProjectUpdateInfo used to carry pointers to Project and/or Toolchain, even though they were used in contexts where these pointers were either unsafe to access or not guaranteed to be valid anymore, which made their use difficult and error-prone. We turn these classes into pure value types by copying in all relevant information before the first async operation takes place. Fixes: QTCREATORBUG-25678 Change-Id: I1914b0dbda6c7dfba6c95e5e92f2d69977755590 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
		@@ -77,11 +77,10 @@ void CompilationDatabaseTests::testProject()
 | 
			
		||||
    QFETCH(QString, projectFilePath);
 | 
			
		||||
 | 
			
		||||
    CppTools::Tests::ProjectOpenerAndCloser projectManager;
 | 
			
		||||
    const CppTools::ProjectInfo projectInfo = projectManager.open(projectFilePath, true);
 | 
			
		||||
    QVERIFY(projectInfo.isValid());
 | 
			
		||||
    const CppTools::ProjectInfo::Ptr projectInfo = projectManager.open(projectFilePath, true);
 | 
			
		||||
    QVERIFY(projectInfo);
 | 
			
		||||
 | 
			
		||||
    projectInfo.projectParts();
 | 
			
		||||
    QVector<CppTools::ProjectPart::Ptr> projectParts = projectInfo.projectParts();
 | 
			
		||||
    QVector<CppTools::ProjectPart::Ptr> projectParts = projectInfo->projectParts();
 | 
			
		||||
    QVERIFY(!projectParts.isEmpty());
 | 
			
		||||
 | 
			
		||||
    CppTools::ProjectPart &projectPart = *projectParts.first();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user