From 64e2fa80015fb7d9e53cc66357870d4ea11f3590 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Wed, 1 Oct 2014 11:12:18 +0200 Subject: Partially revert d9c531781e6c95f80681b3c82700833e1de88794 This logic changed then timing for when the layer's m_dirtyTexture was set and unset, which had some side effects. Revert to the old and known-to-work behavior of using a connection. Change-Id: I4048e7ae70491afe36b2d766e6c506d9febc44ed Task-number: QTBUG-41451 Reviewed-by: Mitch Curtis Reviewed-by: Giulio Camuffo Reviewed-by: Simon Hausmann --- src/quick/scenegraph/qsgdefaultlayer.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/quick/scenegraph/qsgdefaultlayer.cpp') diff --git a/src/quick/scenegraph/qsgdefaultlayer.cpp b/src/quick/scenegraph/qsgdefaultlayer.cpp index c93517fe3f..450a9fbee0 100644 --- a/src/quick/scenegraph/qsgdefaultlayer.cpp +++ b/src/quick/scenegraph/qsgdefaultlayer.cpp @@ -88,7 +88,6 @@ namespace QSGDefaultLayer::QSGDefaultLayer(QSGRenderContext *context) : QSGLayer() , m_item(0) - , m_shaderSourceNode(0) , m_device_pixel_ratio(1) , m_format(GL_RGBA) , m_renderer(0) @@ -259,11 +258,8 @@ void QSGDefaultLayer::scheduleUpdate() if (m_grab) return; m_grab = true; - if (m_dirtyTexture) { + if (m_dirtyTexture) emit updateRequested(); - if (m_shaderSourceNode) - m_shaderSourceNode->markDirty(QSGNode::DirtyMaterial); - } } void QSGDefaultLayer::setRecursive(bool recursive) @@ -274,11 +270,8 @@ void QSGDefaultLayer::setRecursive(bool recursive) void QSGDefaultLayer::markDirtyTexture() { m_dirtyTexture = true; - if (m_live || m_grab) { + if (m_live || m_grab) emit updateRequested(); - if (m_shaderSourceNode) - m_shaderSourceNode->markDirty(QSGNode::DirtyMaterial); - } } void QSGDefaultLayer::grab() @@ -299,7 +292,7 @@ void QSGDefaultLayer::grab() if (!m_renderer) { m_renderer = m_context->createRenderer(); - connect(m_renderer, SIGNAL(sceneGraphChanged()), this, SLOT(markDirtyTextureLater())); + connect(m_renderer, SIGNAL(sceneGraphChanged()), this, SLOT(markDirtyTexture())); } m_renderer->setDevicePixelRatio(m_device_pixel_ratio); m_renderer->setRootNode(static_cast(root)); -- cgit v1.2.3