diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2019-09-11 11:46:47 +0200 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2019-09-20 13:01:14 +0200 |
commit | b8a911fbebfcd297ce08b91fbe85bb1624d257d9 (patch) | |
tree | 3d9a94d36976b7dc063a4386fdec7c1910105fa9 | |
parent | 51f1428d3cd782c22226b0ee4bd7145a45762d86 (diff) |
QPainter: Avoid leaking memory on unbalanced save/restore
If a QPainter ended without all saved states having been restored, the
state stack would leak memory.
Fixes: QTBUG-77843
Change-Id: I760904d6391de24a4867be54fa1bebf76be14ba7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r-- | src/gui/painting/qpainter.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 95e6bda78b..f9e9563f10 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -1710,8 +1710,8 @@ void QPainter::restore() static inline void qt_cleanup_painter_state(QPainterPrivate *d) { + qDeleteAll(d->states); d->states.clear(); - delete d->state; d->state = 0; d->engine = 0; d->device = 0; |