aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/context2d/qquickcanvasitem.cpp
diff options
context:
space:
mode:
authorRoman Pasechnik <roman@pasechnik.net>2017-04-17 07:59:02 +0200
committerRobin Burchell <robin.burchell@crimson.no>2017-04-25 16:00:32 +0000
commit86ac78bdc0dce95489f3f8af1b4b062f426d399c (patch)
tree1f149f5b706d19f56606b19a7cf2120d78e7baaa /src/quick/items/context2d/qquickcanvasitem.cpp
parent4fae7dafb82b8fe0c0d963d0b53b35ead7c58f5d (diff)
Fix Canvas memory leak
Task-number: QTBUG-59467 Change-Id: I3fa0e20676e453ec194ec71188172f4650313d1e Reviewed-by: Gunnar Sletta <gunnar@crimson.no> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Diffstat (limited to 'src/quick/items/context2d/qquickcanvasitem.cpp')
-rw-r--r--src/quick/items/context2d/qquickcanvasitem.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp
index bda3250c16..9a2e010e79 100644
--- a/src/quick/items/context2d/qquickcanvasitem.cpp
+++ b/src/quick/items/context2d/qquickcanvasitem.cpp
@@ -640,6 +640,10 @@ void QQuickCanvasItem::releaseResources()
QQuickWindowQObjectCleanupJob::schedule(window(), d->textureProvider);
d->textureProvider = 0;
}
+ if (d->nodeTexture) {
+ QQuickWindowQObjectCleanupJob::schedule(window(), d->nodeTexture);
+ d->nodeTexture = 0;
+ }
}
bool QQuickCanvasItem::event(QEvent *event)
@@ -662,6 +666,8 @@ void QQuickCanvasItem::invalidateSceneGraph()
d->node = 0; // managed by the scene graph, just reset the pointer
delete d->textureProvider;
d->textureProvider = 0;
+ delete d->nodeTexture;
+ d->nodeTexture = 0;
}
void QQuickCanvasItem::schedulePolish()