aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2011-08-30 08:48:36 +0200
committerKim M. Kalland <kim.kalland@nokia.com>2011-08-30 10:41:55 +0200
commitfa467bc58885e8a062a10a5a28b9ab5b9b4987db (patch)
tree2c6186f41ab729314b6b4bd1d3f83d4db69f52b6 /src/declarative/items
parent5bb2164f7c8b654f2312cd0a4a814b724da292f2 (diff)
Don't create the ShaderEffect node when attributes are missing
Change-Id: Ib291b9b3bbf2f421998e2c8d92e34fb88f53a5c7 Reviewed-on: http://codereview.qt.nokia.com/3848 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Diffstat (limited to 'src/declarative/items')
-rw-r--r--src/declarative/items/qsgshadereffect.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/declarative/items/qsgshadereffect.cpp b/src/declarative/items/qsgshadereffect.cpp
index b66f9c1813..ff131509f3 100644
--- a/src/declarative/items/qsgshadereffect.cpp
+++ b/src/declarative/items/qsgshadereffect.cpp
@@ -582,6 +582,13 @@ QSGNode *QSGShaderEffect::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData
{
QSGShaderEffectNode *node = static_cast<QSGShaderEffectNode *>(oldNode);
+ // In the case of a bad vertex shader, don't try to create a node...
+ if (m_source.attributeNames.isEmpty()) {
+ if (node)
+ delete node;
+ return 0;
+ }
+
if (!node) {
node = new QSGShaderEffectNode;
m_programDirty = true;