diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2020-06-01 11:54:45 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2020-06-02 22:52:57 +0200 |
commit | dd7f4001e1abbad508378ad2d3f718bcda6189b5 (patch) | |
tree | c5457a9e341af07b0cc5efacdb67b3ca217a805d /src/gui | |
parent | 033e5dc183fc3dc24b18d16722eee06b89e950d1 (diff) |
QPainter: replace manual memory management [1/5]: dummyState
Use a unique_ptr to indicate ownership.
Change-Id: I15e8c48fac1424d5605e869adcfba6965b16c218
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/painting/qpainter.cpp | 1 | ||||
-rw-r--r-- | src/gui/painting/qpainter_p.h | 8 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 4ab4c359bc..9272ddb9ef 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -222,7 +222,6 @@ QPainterPrivate::~QPainterPrivate() { delete emulationEngine; qDeleteAll(states); - delete dummyState; } diff --git a/src/gui/painting/qpainter_p.h b/src/gui/painting/qpainter_p.h index 870381d48a..9b299ac18d 100644 --- a/src/gui/painting/qpainter_p.h +++ b/src/gui/painting/qpainter_p.h @@ -65,6 +65,8 @@ #include <private/qpen_p.h> +#include <memory> + QT_BEGIN_NAMESPACE class QPaintEngine; @@ -206,7 +208,7 @@ public: QPainterState *state; QVarLengthArray<QPainterState *, 8> states; - mutable QPainterDummyState *dummyState; + mutable std::unique_ptr<QPainterDummyState> dummyState; QTransform invMatrix; uint txinv:1; @@ -221,8 +223,8 @@ public: QPainterDummyState *fakeState() const { if (!dummyState) - dummyState = new QPainterDummyState(); - return dummyState; + dummyState = std::make_unique<QPainterDummyState>(); + return dummyState.get(); } void updateEmulationSpecifier(QPainterState *s); |