diff options
author | Martin Jones <martin.jones@qinetic.com.au> | 2016-09-09 14:52:05 +1000 |
---|---|---|
committer | Martin Jones <martin.jones@qinetic.com.au> | 2016-09-15 00:00:20 +0000 |
commit | 2a7bfd6b37552b5812fa0e18f0212121d6c1703a (patch) | |
tree | 311e6f74c00b0c429e97c54c885c90a3724c8b0b /tests/auto/quick/qquickvisualdatamodel | |
parent | 82176ad2090b236e3255a8b4ae26557e4bc932c0 (diff) |
Destroy an incubating delegate if it is removed before incubation completes
Removing an item from a model after its delegate has started incubation,
but before it has completed results is an orphaned item.
Task-number: QTBUG-55901
Change-Id: I3d3136dc05a950ca38d53687ae7d38a6d0c7ec35
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Diffstat (limited to 'tests/auto/quick/qquickvisualdatamodel')
-rw-r--r-- | tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp index d578a0900c..dc8b35d3e8 100644 --- a/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp +++ b/tests/auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp @@ -4093,9 +4093,10 @@ void tst_qquickvisualdatamodel::asynchronousRemove() controller.incubateFor(50); } while (timer.elapsed() < 1000 && controller.incubatingObjectCount() > 0); - QVERIFY(requester.itemInitialized); - QCOMPARE(requester.itemCreated, requester.itemInitialized); - QCOMPARE(requester.itemDestroyed, requester.itemInitialized); + // The item was removed before incubation started. We should not have any item created. + QVERIFY(!requester.itemInitialized); + QVERIFY(!requester.itemCreated); + QVERIFY(!requester.itemDestroyed); } else { item = qobject_cast<QQuickItem*>(visualModel->object(completeIndex, false)); QVERIFY(item); |