summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_blitter.cpp
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-09-20 15:23:02 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-20 15:49:35 +0200
commitd5f12b898b8480c891382c54672422c50218751a (patch)
tree02981d380c1ce472a2f28ad5d46f972d9c067fca /src/gui/painting/qpaintengine_blitter.cpp
parentdc4764229a3eef5c0bdbd665f2e24e59398e8c51 (diff)
[blitter] Fix memory leak in the blitter paintengine
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 <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/painting/qpaintengine_blitter.cpp')
-rw-r--r--src/gui/painting/qpaintengine_blitter.cpp10
1 files changed, 5 insertions, 5 deletions
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<QRasterPaintEngine> raster;
QBlittablePlatformPixmap *pmData;
bool isBlitterLocked;
- CapabilitiesToStateMask *capabillities;
+ QScopedPointer<CapabilitiesToStateMask> 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