From 0755302f0b3723ecccc78cedf394f264beef860f Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Mon, 31 Oct 2011 12:25:13 +0100 Subject: [PATCH] Avoid crash when ShaderEffect source is not available. Task-number: QTBUG-21711 Change-Id: I65992ef69a0db829054971125bfb8eb9c150ee99 Reviewed-by: Yoann Lopes --- src/declarative/items/qquickshadereffect.cpp | 2 +- src/declarative/items/qquickshadereffectnode.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/items/qquickshadereffect.cpp b/src/declarative/items/qquickshadereffect.cpp index 896987d..03247f9 100644 --- a/src/declarative/items/qquickshadereffect.cpp +++ b/src/declarative/items/qquickshadereffect.cpp @@ -634,7 +634,7 @@ QSGNode *QQuickShaderEffect::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDa } for (int i = 0; i < m_sources.size(); ++i) { const SourceData &source = m_sources.at(i); - QSGTextureProvider *t = source.sourceObject->textureProvider(); + QSGTextureProvider *t = source.sourceObject ? source.sourceObject->textureProvider() : 0; textures.append(qMakePair(source.name, t)); if (t) connect(t, SIGNAL(textureChanged()), node, SLOT(markDirtyTexture()), Qt::DirectConnection); diff --git a/src/declarative/items/qquickshadereffectnode.cpp b/src/declarative/items/qquickshadereffectnode.cpp index 67ca124..923a180 100644 --- a/src/declarative/items/qquickshadereffectnode.cpp +++ b/src/declarative/items/qquickshadereffectnode.cpp @@ -117,7 +117,7 @@ void QQuickCustomMaterialShader::updateState(const RenderState &state, QSGMateri continue; } } - qWarning("ShaderEffectItem: source or provider missing when binding textures"); + qWarning("ShaderEffect: source or provider missing when binding textures"); glBindTexture(GL_TEXTURE_2D, 0); } -- 1.7.2.5