From c11b046f34ad26525466e2945cf9fc64a1984b9a Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 2 Sep 2015 11:03:53 +0200 Subject: [PATCH] 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 --- src/plugins/qmlprofiler/qmlprofileroptionspage.cpp | 8 +------- src/plugins/qmlprofiler/qmlprofileroptionspage.h | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/plugins/qmlprofiler/qmlprofileroptionspage.cpp b/src/plugins/qmlprofiler/qmlprofileroptionspage.cpp index ec433997d93..dda136d68b2 100644 --- a/src/plugins/qmlprofiler/qmlprofileroptionspage.cpp +++ b/src/plugins/qmlprofiler/qmlprofileroptionspage.cpp @@ -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 diff --git a/src/plugins/qmlprofiler/qmlprofileroptionspage.h b/src/plugins/qmlprofiler/qmlprofileroptionspage.h index 02b621d21cc..5698902cd5f 100644 --- a/src/plugins/qmlprofiler/qmlprofileroptionspage.h +++ b/src/plugins/qmlprofiler/qmlprofileroptionspage.h @@ -32,6 +32,7 @@ #define QMLPROFILEROPTIONSPAGE_H #include +#include 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 m_widget; }; } // Internal