diff options
author | Gunnar Sletta <gunnar@sletta.org> | 2014-10-01 11:12:18 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar@sletta.org> | 2014-10-01 12:19:14 +0200 |
commit | 64e2fa80015fb7d9e53cc66357870d4ea11f3590 (patch) | |
tree | 15a72f25a368c8eb8d4f94b4eadda6b83b33cce3 /src/quick/scenegraph/qsgdefaultlayer.cpp | |
parent | 125c96476e98cb393d2cf133a8245cb0672109a1 (diff) |
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 <mitch.curtis@digia.com>
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/quick/scenegraph/qsgdefaultlayer.cpp')
-rw-r--r-- | src/quick/scenegraph/qsgdefaultlayer.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
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<QSGRootNode *>(root)); |