QmlProfiler: Use QPointer for storing config widget

Most other options pages do it this way and none of them delete the
widget in the destructor. Apparently we can rely on finish() getting
called in time.

Change-Id: Ie0964d291bc8ab3eea537921bf476012d58776a4
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
This commit is contained in:
Ulf Hermann
2015-09-02 11:03:53 +02:00
parent 96ca7bf148
commit c11b046f34
2 changed files with 3 additions and 9 deletions

View File

@@ -36,7 +36,7 @@
namespace QmlProfiler {
namespace Internal {
QmlProfilerOptionsPage::QmlProfilerOptionsPage() : m_widget(0)
QmlProfilerOptionsPage::QmlProfilerOptionsPage()
{
setId(Constants::SETTINGS);
setDisplayName(tr("QML Profiler"));
@@ -45,11 +45,6 @@ QmlProfilerOptionsPage::QmlProfilerOptionsPage() : m_widget(0)
setCategoryIcon(QLatin1String(":/images/analyzer_category.png"));
}
QmlProfilerOptionsPage::~QmlProfilerOptionsPage()
{
delete m_widget;
}
QWidget *QmlProfilerOptionsPage::widget()
{
// We cannot parent the widget to the options page as it expects a QWidget as parent
@@ -66,7 +61,6 @@ void QmlProfilerOptionsPage::apply()
void QmlProfilerOptionsPage::finish()
{
delete m_widget;
m_widget = 0;
}
} // Internal

View File

@@ -32,6 +32,7 @@
#define QMLPROFILEROPTIONSPAGE_H
#include <coreplugin/dialogs/ioptionspage.h>
#include <QPointer>
namespace QmlProfiler {
namespace Internal {
@@ -40,14 +41,13 @@ class QmlProfilerOptionsPage : public Core::IOptionsPage
{
public:
QmlProfilerOptionsPage();
~QmlProfilerOptionsPage();
QWidget *widget();
void apply();
void finish();
private:
QWidget *m_widget;
QPointer<QWidget> m_widget;
};
} // Internal