From d25185fb0dcc6e0914707aa3c6cde278cc248a91 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 27 Mar 2025 13:16:50 +0100 Subject: [PATCH] tst_QGraphicsLinearLayout: fix memleaks in itemAt_visualOrder() The test function leaked all the items it created. Unless I renamed the object and kept the pointers to them by their old names, any fix would touch every line, anyway. The former would be pretty contrived in such a short function, so port the complete test to stack-allocated objects, which is how this function would have been written today. Amends the start of the public history. Pick-to: 6.8 6.5 5.15 Change-Id: Ia8a67825d3a80be4574b7779c2105d53003b9e69 Reviewed-by: Axel Spoerl (cherry picked from commit 64060cbeae86b2bfeccc6fc18df56cd1e829b0e7) Reviewed-by: Qt Cherry-pick Bot --- .../tst_qgraphicslinearlayout.cpp | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp index f85c3fcc821..2ce9017d5e0 100644 --- a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp @@ -655,24 +655,24 @@ void tst_QGraphicsLinearLayout::itemAt() void tst_QGraphicsLinearLayout::itemAt_visualOrder() { - QGraphicsLinearLayout *l = new QGraphicsLinearLayout; + QGraphicsLinearLayout l; - QGraphicsWidget *w1 = new QGraphicsWidget; - l->addItem(w1); + QGraphicsWidget w1; + l.addItem(&w1); - QGraphicsWidget *w3 = new QGraphicsWidget; - l->addItem(w3); + QGraphicsWidget w3; + l.addItem(&w3); - QGraphicsWidget *w0 = new QGraphicsWidget; - l->insertItem(0, w0); + QGraphicsWidget w0; + l.insertItem(0, &w0); - QGraphicsWidget *w2 = new QGraphicsWidget; - l->insertItem(2, w2); + QGraphicsWidget w2; + l.insertItem(2, &w2); - QCOMPARE(l->itemAt(0), static_cast(w0)); - QCOMPARE(l->itemAt(1), static_cast(w1)); - QCOMPARE(l->itemAt(2), static_cast(w2)); - QCOMPARE(l->itemAt(3), static_cast(w3)); + QCOMPARE(l.itemAt(0), static_cast(&w0)); + QCOMPARE(l.itemAt(1), static_cast(&w1)); + QCOMPARE(l.itemAt(2), static_cast(&w2)); + QCOMPARE(l.itemAt(3), static_cast(&w3)); } void tst_QGraphicsLinearLayout::orientation_data()