From 86ac78bdc0dce95489f3f8af1b4b062f426d399c Mon Sep 17 00:00:00 2001 From: Roman Pasechnik Date: Mon, 17 Apr 2017 07:59:02 +0200 Subject: Fix Canvas memory leak Task-number: QTBUG-59467 Change-Id: I3fa0e20676e453ec194ec71188172f4650313d1e Reviewed-by: Gunnar Sletta Reviewed-by: Robin Burchell --- src/quick/items/context2d/qquickcanvasitem.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/quick/items/context2d/qquickcanvasitem.cpp') 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() -- cgit v1.2.3