diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2018-10-22 19:53:53 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2018-12-05 21:50:47 +0000 |
commit | a8dae3ad0bc6377c695326e48d3c0db9f73107db (patch) | |
tree | 4a605188dc38e4e22aacc77c6f46a0f55f3217aa /src/widgets/graphicsview | |
parent | 83bf7d82609b45a76c91c2a869cfbcbcbb9e0995 (diff) |
qgraphicslayoutstyleinfo: Improve memory handling
Change-Id: I3d699a89e8833570132cbd03aa575e4f4cf9249b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/widgets/graphicsview')
-rw-r--r-- | src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp | 7 | ||||
-rw-r--r-- | src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp b/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp index 8b4861bf45..da2510a8cb 100644 --- a/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp +++ b/src/widgets/graphicsview/qgraphicslayoutstyleinfo.cpp @@ -50,14 +50,13 @@ QT_BEGIN_NAMESPACE QGraphicsLayoutStyleInfo::QGraphicsLayoutStyleInfo(const QGraphicsLayoutPrivate *layout) : m_layout(layout), m_style(0) { - m_widget = new QWidget; // pixelMetric might need a widget ptr - m_styleOption.initFrom(m_widget); + m_widget.reset(new QWidget); // pixelMetric might need a widget ptr + m_styleOption.initFrom(m_widget.get()); m_isWindow = m_styleOption.state & QStyle::State_Window; } QGraphicsLayoutStyleInfo::~QGraphicsLayoutStyleInfo() { - delete m_widget; } qreal QGraphicsLayoutStyleInfo::combinedLayoutSpacing(QLayoutPolicy::ControlTypes controls1, @@ -92,7 +91,7 @@ qreal QGraphicsLayoutStyleInfo::windowMargin(Qt::Orientation orientation) const const_cast<QStyleOption*>(&m_styleOption), widget()); } -QWidget *QGraphicsLayoutStyleInfo::widget() const { return m_widget; } +QWidget *QGraphicsLayoutStyleInfo::widget() const { return m_widget.get(); } QStyle *QGraphicsLayoutStyleInfo::style() const { diff --git a/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h b/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h index 7886de432c..c3af9f4554 100644 --- a/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h +++ b/src/widgets/graphicsview/qgraphicslayoutstyleinfo_p.h @@ -54,6 +54,8 @@ #include <QtGui/private/qabstractlayoutstyleinfo_p.h> #include <QtWidgets/qstyleoption.h> +#include <memory> + QT_REQUIRE_CONFIG(graphicsview); QT_BEGIN_NAMESPACE @@ -93,7 +95,7 @@ private: const QGraphicsLayoutPrivate *m_layout; mutable QStyle *m_style; QStyleOption m_styleOption; - QWidget *m_widget; + std::unique_ptr<QWidget> m_widget; }; QT_END_NAMESPACE |