aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-06-19 13:05:12 +0200
committerLiang Qi <liang.qi@qt.io>2019-06-19 13:05:12 +0200
commita2d36c9ef566a3e0ec42e297a3d314f134c87da1 (patch)
tree3cf02240bc190e0ae52c5cb1163e523635e443ab /tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
parent15b90204fa5126f339db551cf7429534f1359322 (diff)
parente9520ec84c95e10a6826b2289e46552a2d446895 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts: .qmake.conf src/imports/sharedimage/qsharedimageloader.cpp src/quick/items/qquickitemviewfxitem_p_p.h Change-Id: I12ce7c32788f4a394188a934e689b4ebac78138b
Diffstat (limited to 'tests/auto/quick/qquickanimations/tst_qquickanimations.cpp')
-rw-r--r--tests/auto/quick/qquickanimations/tst_qquickanimations.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp b/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
index 961506372a..181d40e9ce 100644
--- a/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
+++ b/tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
@@ -109,6 +109,7 @@ private slots:
void unsetAnimatorProxyJobWindow();
void finished();
void replacingTransitions();
+ void animationJobSelfDestruction();
};
#define QTIMED_COMPARE(lhs, rhs) do { \
@@ -1723,6 +1724,26 @@ void tst_qquickanimations::replacingTransitions()
QCOMPARE(model->count(), 3);
}
+void tst_qquickanimations::animationJobSelfDestruction()
+{
+ // Don't crash
+ QQmlEngine engine;
+ engine.clearComponentCache();
+ QQmlComponent c(&engine, testFileUrl("animationJobSelfDestructionBug.qml"));
+ QScopedPointer<QQuickWindow> win(qobject_cast<QQuickWindow*>(c.create()));
+ if (!c.errors().isEmpty())
+ qDebug() << c.errorString();
+ QVERIFY(win);
+ win->setTitle(QTest::currentTestFunction());
+ win->show();
+ QVERIFY(QTest::qWaitForWindowExposed(win.data()));
+ QQmlTimer *timer = win->property("timer").value<QQmlTimer*>();
+ QVERIFY(timer);
+ QCOMPARE(timer->isRunning(), false);
+ timer->start();
+ QTest::qWait(1000);
+}
+
QTEST_MAIN(tst_qquickanimations)
#include "tst_qquickanimations.moc"