aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-07-26 13:07:17 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-07-26 11:48:50 +0000
commitb94889f49170e3d8df5b348d3f179445d892f232 (patch)
tree2ffedc1fbc8102741fc1535ffa99faaf8c110b93 /tests/auto/controls
parentd6c8721476607f22896785baa547a7551015f164 (diff)
Fix QQuickStackViewPrivate::viewItemTransitionFinished()
~QQuickStackElement() emits QQuickStackViewAttached::removed(), which may be used to modify the stack. Set the status first and make a copy of the destroyable stack elements to exclude any modifications that may happen during the loop. Task-number: QTBUG-62153 Change-Id: I144acd693519e637b78f9a2d910e83da8f2d779e Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/controls')
-rw-r--r--tests/auto/controls/data/tst_stackview.qml13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_stackview.qml b/tests/auto/controls/data/tst_stackview.qml
index 3328c84f..0f73b631 100644
--- a/tests/auto/controls/data/tst_stackview.qml
+++ b/tests/auto/controls/data/tst_stackview.qml
@@ -726,6 +726,19 @@ TestCase {
compare(control.busy, false)
}
+ function test_pushOnRemoved() {
+ var control = createTemporaryObject(stackView, testCase, { initialItem: component })
+ verify(control)
+
+ var item = control.push(component, StackView.Immediate)
+ verify(item)
+
+ item.StackView.onRemoved.connect(function() { control.push(component, StackView.Immediate) } )
+
+ // don't crash (QTBUG-62153)
+ control.pop(StackView.Immediate)
+ }
+
Component {
id: attachedItem
Item {