aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickshadereffect.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-03-07 19:31:56 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-03-07 19:31:57 +0100
commitb8fd0ed3a47558b4ace480526cddffa51d6f0580 (patch)
tree926095da42e111933bdb3a63c1a9e0a14fa4041f /src/quick/items/qquickshadereffect.cpp
parent669c554516736a6735b7286039c56cc0e8d56e05 (diff)
parent443ba99b1ef825e198fe1999c34ee44547135797 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.7
Diffstat (limited to 'src/quick/items/qquickshadereffect.cpp')
-rw-r--r--src/quick/items/qquickshadereffect.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/quick/items/qquickshadereffect.cpp b/src/quick/items/qquickshadereffect.cpp
index 05900bc12b..0cfb85db97 100644
--- a/src/quick/items/qquickshadereffect.cpp
+++ b/src/quick/items/qquickshadereffect.cpp
@@ -958,6 +958,12 @@ void QQuickShaderEffect::updateGeometry()
update();
}
+void QQuickShaderEffect::updateGeometryIfAtlased()
+{
+ if (m_supportsAtlasTextures)
+ updateGeometry();
+}
+
void QQuickShaderEffect::updateLogAndStatus(const QString &log, int status)
{
m_log = parseLog() + log;
@@ -1006,6 +1012,8 @@ QSGNode *QQuickShaderEffect::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa
m_dirtyUniforms = true;
m_dirtyGeometry = true;
connect(node, SIGNAL(logAndStatusChanged(QString,int)), this, SLOT(updateLogAndStatus(QString,int)));
+ connect(node, &QQuickShaderEffectNode::dirtyTexture,
+ this, &QQuickShaderEffect::updateGeometryIfAtlased);
}
QQuickShaderEffectMaterial *material = static_cast<QQuickShaderEffectMaterial *>(node->material());