From ec7989aa66f172e731667e8cf647932262956423 Mon Sep 17 00:00:00 2001 From: Andreas Buhr Date: Thu, 8 Jul 2021 10:06:07 +0200 Subject: Fix memory leak in tst_qtreewidget Invalid inserts of items are tested. However, on an invalid insert of QTreeWidgetItem into QTreeWidget, the QTreeWidget does not take ownership of the to-be-inserted items. These items were leaked in the past. This patch introduces a scope-guard, so the items are not leaked. Change-Id: Ib53ac02605c3a3c0bd1ae69bbd0876f860d08093 Reviewed-by: Marc Mutz --- tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests') diff --git a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp index 98623a44b3..652d6f76d9 100644 --- a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp +++ b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -322,6 +323,7 @@ void tst_QTreeWidget::addTopLevelItem() // invalid insert { tops.clear(); + const auto sg = qScopeGuard([&] { qDeleteAll(std::exchange(tops, {})); }); for (int i = 0; i < 10; ++i) tops << new TreeItem(); int count = tree.topLevelItemCount(); -- cgit v1.2.3