From d5f12b898b8480c891382c54672422c50218751a Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 20 Sep 2011 15:23:02 +0200 Subject: [blitter] Fix memory leak in the blitter paintengine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The raster engine and the capabilities were leaked, use the QScopedPointer to prevent that from happening. Change-Id: I31ba0117280b48ad942fbb638fb151ccb7b34385 Merge-request: 59 Reviewed-on: http://codereview.qt-project.org/5242 Reviewed-by: Qt Sanity Bot Reviewed-by: Jørgen Lind --- src/gui/painting/qpaintengine_blitter.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/gui/painting') diff --git a/src/gui/painting/qpaintengine_blitter.cpp b/src/gui/painting/qpaintengine_blitter.cpp index 0e9a17a183..1ed6dea161 100644 --- a/src/gui/painting/qpaintengine_blitter.cpp +++ b/src/gui/painting/qpaintengine_blitter.cpp @@ -197,8 +197,8 @@ public: hasXForm(false) { - raster = new QRasterPaintEngine(p->buffer()); - capabillities = new CapabilitiesToStateMask(pmData->blittable()->capabilities()); + raster.reset(new QRasterPaintEngine(p->buffer())); + capabillities.reset(new CapabilitiesToStateMask(pmData->blittable()->capabilities())); } inline void lock() { @@ -278,12 +278,12 @@ public: raster->d_func()->systemStateChanged(); } - QRasterPaintEngine *raster; + QScopedPointer raster; QBlittablePlatformPixmap *pmData; bool isBlitterLocked; - CapabilitiesToStateMask *capabillities; + QScopedPointer capabillities; uint hasXForm; }; @@ -654,7 +654,7 @@ void QBlitterPaintEngine::setState(QPainterState *s) inline QRasterPaintEngine *QBlitterPaintEngine::raster() const { Q_D(const QBlitterPaintEngine); - return d->raster; + return d->raster.data(); } QT_END_NAMESPACE -- cgit v1.2.3