forked from qt-creator/qt-creator
KitManager: Use unique_ptr to manage kits
Change-Id: I8c66290f0d23afe37673bd858f7db135c8232a78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
@@ -46,15 +46,16 @@ void QmlProfilerAttachDialogTest::testAccessors()
|
||||
dialog.setPort(4444);
|
||||
QCOMPARE(dialog.port(), 4444);
|
||||
|
||||
ProjectExplorer::Kit *newKit = new ProjectExplorer::Kit("dings");
|
||||
auto newKit = std::make_unique<ProjectExplorer::Kit>("dings");
|
||||
ProjectExplorer::Kit *newKitPtr = newKit.get();
|
||||
ProjectExplorer::KitManager *kitManager = ProjectExplorer::KitManager::instance();
|
||||
QVERIFY(kitManager);
|
||||
QVERIFY(kitManager->registerKit(newKit));
|
||||
QVERIFY(kitManager->registerKit(std::move(newKit)));
|
||||
|
||||
dialog.setKitId("dings");
|
||||
QCOMPARE(dialog.kit(), newKit);
|
||||
QCOMPARE(dialog.kit(), newKitPtr);
|
||||
|
||||
kitManager->deregisterKit(newKit);
|
||||
kitManager->deregisterKit(newKitPtr);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -229,9 +229,9 @@ void QmlProfilerDetailsRewriterTest::seedRewriter()
|
||||
doc->parse();
|
||||
QVERIFY(!doc->source().isEmpty());
|
||||
|
||||
ProjectExplorer::Kit *kit = new ProjectExplorer::Kit;
|
||||
auto kit = std::make_unique<ProjectExplorer::Kit>();
|
||||
ProjectExplorer::SysRootKitInformation::setSysRoot(
|
||||
kit, Utils::FileName::fromLatin1("/nowhere"));
|
||||
kit.get(), Utils::FileName::fromLatin1("/nowhere"));
|
||||
|
||||
DummyProject *project = new DummyProject(Utils::FileName::fromString(filename));
|
||||
ProjectExplorer::SessionManager::addProject(project);
|
||||
@@ -240,12 +240,11 @@ void QmlProfilerDetailsRewriterTest::seedRewriter()
|
||||
// Make sure the uniqe_ptr gets deleted before the project.
|
||||
// Otherwise we'll get a double free because the target is also parented to the project
|
||||
// and unique_ptr doesn't know anything about QObject parent/child relationships.
|
||||
std::unique_ptr<ProjectExplorer::Target> target = project->createTarget(kit);
|
||||
std::unique_ptr<ProjectExplorer::Target> target = project->createTarget(kit.get());
|
||||
m_rewriter.populateFileFinder(target.get());
|
||||
}
|
||||
|
||||
ProjectExplorer::SessionManager::removeProject(project);
|
||||
ProjectExplorer::KitManager::deleteKit(kit);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -44,13 +44,14 @@ namespace Internal {
|
||||
|
||||
void QmlProfilerToolTest::testAttachToWaitingApplication()
|
||||
{
|
||||
ProjectExplorer::Kit *newKit = new ProjectExplorer::Kit("fookit");
|
||||
auto newKit = std::make_unique<ProjectExplorer::Kit>("fookit");
|
||||
ProjectExplorer::Kit * newKitPtr = newKit.get();
|
||||
ProjectExplorer::KitManager *kitManager = ProjectExplorer::KitManager::instance();
|
||||
QVERIFY(kitManager);
|
||||
QVERIFY(kitManager->registerKit(newKit));
|
||||
QVERIFY(kitManager->registerKit(std::move(newKit)));
|
||||
QSettings *settings = Core::ICore::settings();
|
||||
QVERIFY(settings);
|
||||
settings->setValue(QLatin1String("AnalyzerQmlAttachDialog/kitId"), newKit->id().toSetting());
|
||||
settings->setValue(QLatin1String("AnalyzerQmlAttachDialog/kitId"), newKitPtr->id().toSetting());
|
||||
|
||||
QmlProfilerTool profilerTool;
|
||||
QTcpServer server;
|
||||
|
||||
Reference in New Issue
Block a user