From d50df7b22e14d332181a7175f097fbef0f3f857f Mon Sep 17 00:00:00 2001 From: Tobias Hunger <tobias.hunger@nokia.com> Date: Mon, 19 Apr 2010 16:13:20 +0200 Subject: [PATCH] Properly fix setup of targetsetuppage Handle the deletion of temporary QtVersions properly. Remove workaround. Reviewed-by: dt --- .../wizards/targetsetuppage.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index f32296a5ceb..d1aff03a3a4 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -81,8 +81,21 @@ void TargetSetupPage::setImportInfos(const QList<ImportInfo> &infos) disconnect(m_treeWidget, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(itemWasChanged())); - // Clean up! - resetInfos(); + // Create a list of all temporary Qt versions we need to delete in our existing list + QList<QtVersion *> toDelete; + foreach (const ImportInfo &info, m_infos) { + if (info.isTemporary) + toDelete.append(info.version); + } + // Remove those that got copied into the new list to set up + foreach (const ImportInfo &info, infos) { + if (info.isTemporary) + toDelete.removeAll(info.version); + } + // Delete the rest + qDeleteAll(toDelete); + // ... and clear the list + m_infos.clear(); // Find possible targets: QStringList targets; @@ -402,7 +415,6 @@ void TargetSetupPage::addShadowBuildLocation() return; } tmp.append(m_infos); - m_infos.clear(); // Clear m_infos without deleting temporary QtVersions! setImportInfos(tmp); } -- GitLab