From 45d43c04088efb8346979f633f72bb1f23183461 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Thu, 4 Nov 2021 10:41:28 +0100 Subject: [PATCH 18/18] Revert "Fix ListView.isCurrentItem when used with DelegateModel" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit d9f9d773e92940786f159897623618f3bf6bcf0f. It causes a heap-use-after-free in tst_swipeview.qml. Task-number: QTBUG-97423 Pick-to: 5.15 6.1 6.2 Change-Id: I42e9831ae1399a010df28c39496a7778121f5e35 Reviewed-by: Jan Arve Sæther Reviewed-by: Oliver Eftevaag (cherry picked from commit 5d656b31eb371c9e0bb97c558f9193b08471f1d7) --- src/quick/items/qquickitemview.cpp | 2 -- .../quick/qquicklistview/data/qtbug86744.qml | 21 ------------------- .../qquicklistview/tst_qquicklistview.cpp | 14 ------------- 3 files changed, 37 deletions(-) delete mode 100644 tests/auto/quick/qquicklistview/data/qtbug86744.qml diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index c8ea286d3e..f8ad168a17 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -2402,8 +2402,6 @@ void QQuickItemView::createdItem(int index, QObject* object) d->repositionPackageItemAt(item, index); else if (index == d->currentIndex) d->updateCurrent(index); - } else if (index == d->currentIndex) { - d->updateCurrent(index); } } diff --git a/tests/auto/quick/qquicklistview/data/qtbug86744.qml b/tests/auto/quick/qquicklistview/data/qtbug86744.qml deleted file mode 100644 index 6dc82d57eb..0000000000 --- a/tests/auto/quick/qquicklistview/data/qtbug86744.qml +++ /dev/null @@ -1,21 +0,0 @@ -import QtQuick 2.15 -import QtQml.Models 2.15 - -Item { - height: 200 - width: 100 - DelegateModel { - id: dm - model: 2 - delegate: Item { - width: 100; height: 20 - property bool isCurrent: ListView.isCurrentItem - } - } - ListView { - objectName: "listView" - model: dm - currentIndex: 1 - anchors.fill: parent - } -} diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index df329f8318..b564fd3ba5 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -10201,20 +10201,6 @@ void tst_QQuickListView::dragDelegateWithMouseArea_data() } } -void tst_QQuickListView::isCurrentItem_DelegateModel() -{ - QScopedPointer window(createView()); - window->setSource(testFileUrl("qtbug86744.qml")); - window->resize(640, 480); - window->show(); - QVERIFY(QTest::qWaitForWindowExposed(window.data())); - - QQuickListView* listView = window->rootObject()->findChild("listView"); - QVERIFY(listView); - QVariant value = listView->itemAtIndex(1)->property("isCurrent"); - QVERIFY(value.toBool() == true); -} - QTEST_MAIN(tst_QQuickListView) #include "tst_qquicklistview.moc" -- 2.37.3