aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp
diff options
context:
space:
mode:
authorAlbert Astals Cid <albert.astals@canonical.com>2016-06-30 16:54:13 +0200
committerAlbert Astals Cid <albert.astals@canonical.com>2016-07-05 11:05:27 +0000
commit506ae2dba8270341cbe3ee6435baf472b0d1abed (patch)
treef5ebfe08e6d6bd9f72a2eea8769c68bdb62ad534 /tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp
parent240c2ef60e854575dced056d916f8a8922905e8f (diff)
Fix crash in QQuickShaderEffect::updatePaintNode
When having a ShaderEffect and an Image sharing the texture via supportsAtlasTextures This used to work fine in 5.4 but 38cab579a0c5398b7621221fd8609bc43cf1f3c5 removed the check for the provider not being null Change-Id: I18cb969dbf8011ea01543cc079214e8ecbb66623 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp')
-rw-r--r--tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp b/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp
index c95fef9ef5..2f1d7679c8 100644
--- a/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp
+++ b/tests/auto/quick/qquickshadereffect/tst_qquickshadereffect.cpp
@@ -81,6 +81,7 @@ private slots:
void deleteSourceItem();
void deleteShaderEffectSource();
+ void twoImagesOneShaderEffect();
private:
enum PresenceFlags {
@@ -307,6 +308,19 @@ void tst_qquickshadereffect::deleteShaderEffectSource()
delete view;
}
+void tst_qquickshadereffect::twoImagesOneShaderEffect()
+{
+ // purely to ensure that deleting the sourceItem of a shader doesn't cause a crash
+ QQuickView *view = new QQuickView(0);
+ view->setSource(QUrl::fromLocalFile(testFile("twoImagesOneShaderEffect.qml")));
+ view->show();
+ QVERIFY(QTest::qWaitForWindowExposed(view));
+ QVERIFY(view);
+ QObject *obj = view->rootObject();
+ QVERIFY(obj);
+ delete view;
+}
+
QTEST_MAIN(tst_qquickshadereffect)
#include "tst_qquickshadereffect.moc"