diff options
author | Roman Pasechnik <roman@pasechnik.net> | 2017-04-17 07:59:02 +0200 |
---|---|---|
committer | Robin Burchell <robin.burchell@crimson.no> | 2017-04-25 16:00:32 +0000 |
commit | 86ac78bdc0dce95489f3f8af1b4b062f426d399c (patch) | |
tree | 1f149f5b706d19f56606b19a7cf2120d78e7baaa /src/quick/items/context2d/qquickcanvasitem.cpp | |
parent | 4fae7dafb82b8fe0c0d963d0b53b35ead7c58f5d (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.cpp | 6 |
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() |