From a8c55cb54767bd3519c91872b0d9992dcb9b13fd Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 26 Mar 2025 16:16:25 +0100 Subject: [PATCH] tst_QTreeView: fix memleak in expandAfterTake() QStandardItems that were taken out of their QStandardItemModel need to be deleted by the caller, which this test function forgot to do. Store the item in a unique_ptr, so it isn't deleted until after the next populateModel() call. Deleting immediately may change what the test function checks for. Amends 6012285e7dedb4364e2db087b7d5cbfc2973320a. Pick-to: 6.9 6.8 6.5 Change-Id: I45a0a2f598febc75fd9ef683525c973476dcd7e0 Reviewed-by: Axel Spoerl --- tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp index f5315c06bf2..4920eb54b07 100644 --- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp @@ -5260,7 +5260,7 @@ void tst_QTreeView::expandAfterTake() view.show(); QVERIFY(QTest::qWaitForWindowExposed(&view)); view.expandAll(); - model.takeItem(0); + const std::unique_ptr reaper{model.takeItem(0)}; populateModel(&model); // populate model again, having corrupted items inside QTreeViewPrivate::expandedIndexes view.expandAll(); // adding new items to QTreeViewPrivate::expandedIndexes with corrupted persistent indices, causing crash sometimes }