From 83016e47feeed3eb3e40470626ffb2ddf2deab9d Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Wed, 4 Nov 2009 18:50:37 +0100 Subject: [PATCH] Fix leaking PropertiesPanels --- src/plugins/projectexplorer/projectwindow.cpp | 6 ++++++ src/plugins/projectexplorer/projectwindow.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 125c6c21933..6a6708506c8 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -737,6 +737,8 @@ ProjectWindow::ProjectWindow(QWidget *parent) ProjectWindow::~ProjectWindow() { + qDeleteAll(m_panels); + m_panels.clear(); } void ProjectWindow::projectAdded() @@ -775,6 +777,9 @@ void ProjectWindow::showProperties(Project *project) // Remove the tabs from the tab widget first m_panelsWidget->clear(); + qDeleteAll(m_panels); + m_panels.clear(); + m_panelsWidget->addWidget(tr("Active Build and Run Configurations"), m_activeConfigurationWidget); m_panelsWidget->addWidget(m_spacerBetween); m_panelsWidget->addWidget(m_projectChooser); @@ -788,6 +793,7 @@ void ProjectWindow::showProperties(Project *project) if (debug) qDebug() << "ProjectWindow - setting up project properties tab " << panel->name(); m_panelsWidget->addWidget(panel->name(), panel->widget()); + m_panels.push_back(panel); } } } diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h index 2ad04af4cbf..c183a92805f 100644 --- a/src/plugins/projectexplorer/projectwindow.h +++ b/src/plugins/projectexplorer/projectwindow.h @@ -191,6 +191,7 @@ private: QWidget *m_projectChooser; QLabel *m_noprojectLabel; PanelsWidget *m_panelsWidget; + QList<PropertiesPanel *> m_panels; }; -- GitLab