From 001c47e75779b9b55adebdfc293c232d757d4a8e Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Wed, 9 Sep 2015 11:23:37 +0200 Subject: Make Canvas::layer::enabled work Change-Id: I3e159ea6d02f415307db6d45470665085aaa023e Reviewed-by: Michael Brasser --- src/quick/items/context2d/qquickcanvasitem.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index 75507c68d2..6ef2d6123b 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -783,6 +783,12 @@ bool QQuickCanvasItem::isTextureProvider() const QSGTextureProvider *QQuickCanvasItem::textureProvider() const { + // When Item::layer::enabled == true, QQuickItem will be a texture + // provider. In this case we should prefer to return the layer rather + // than the canvas itself. + if (QQuickItem::isTextureProvider()) + return QQuickItem::textureProvider(); + Q_D(const QQuickCanvasItem); QQuickWindow *w = window(); if (!w || !w->openglContext() || QThread::currentThread() != w->openglContext()->thread()) { -- cgit v1.2.3