diff options
author | Gunnar Sletta <gunnar.sletta@jollamobile.com> | 2014-07-03 12:15:46 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@jollamobile.com> | 2014-07-04 17:39:45 +0200 |
commit | 92658ebb755bda136a7e4fa455b8d116c2dd0c6f (patch) | |
tree | 60c346fa4921a8be7448f550ebda033c07e21d49 /src/quick/items/qquickshadereffectnode.cpp | |
parent | 48dcabdb6f30d5e0c05fc1e56bb4ed4e3a96514c (diff) |
Verbose fatal instead of crash when the scene graph state is invalid.
Change-Id: I9a55bcbf9e94084c0cadac561e4707d47f5f8744
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Diffstat (limited to 'src/quick/items/qquickshadereffectnode.cpp')
-rw-r--r-- | src/quick/items/qquickshadereffectnode.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/quick/items/qquickshadereffectnode.cpp b/src/quick/items/qquickshadereffectnode.cpp index f1422e4502..fcf5591d01 100644 --- a/src/quick/items/qquickshadereffectnode.cpp +++ b/src/quick/items/qquickshadereffectnode.cpp @@ -46,6 +46,7 @@ #include <QtQuick/qsgtextureprovider.h> #include <QtQuick/private/qsgrenderer_p.h> #include <QtQuick/private/qsgshadersourcebuilder_p.h> +#include <QtQuick/private/qsgtexture_p.h> QT_BEGIN_NAMESPACE @@ -136,6 +137,12 @@ void QQuickCustomMaterialShader::updateState(const RenderState &state, QSGMateri functions->glActiveTexture(GL_TEXTURE0 + idx); if (QSGTextureProvider *provider = material->textureProviders.at(idx)) { if (QSGTexture *texture = provider->texture()) { + +#ifndef QT_NO_DEBUG + if (!qsg_safeguard_texture(texture)) + continue; +#endif + if (loc >= 0) { QRectF r = texture->normalizedTextureSubRect(); program()->setUniformValue(loc, r.x(), r.y(), r.width(), r.height()); |