From 2a7bfd6b37552b5812fa0e18f0212121d6c1703a Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 9 Sep 2016 14:52:05 +1000 Subject: 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 --- .../auto/quick/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'tests/auto/quick') 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(visualModel->object(completeIndex, false)); QVERIFY(item); -- cgit v1.2.3