From 5d2663432e0156134db352da14477ae19863b703 Mon Sep 17 00:00:00 2001 From: Graham Dawes Date: Mon, 11 Feb 2019 08:14:25 +0000 Subject: [PATCH] Delete child items in wxTreeCtrl::Delete under wxQT --- src/qt/treectrl.cpp | 2 ++ tests/controls/treectrltest.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qt/treectrl.cpp b/src/qt/treectrl.cpp index b7bca683a6..16600c43a9 100644 --- a/src/qt/treectrl.cpp +++ b/src/qt/treectrl.cpp @@ -977,6 +977,8 @@ void wxTreeCtrl::Delete(const wxTreeItemId& item) QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item); QTreeWidgetItem *parent = qTreeItem->parent(); + DeleteChildren(qTreeItem); + if ( parent != NULL ) { parent->removeChild(qTreeItem); diff --git a/tests/controls/treectrltest.cpp b/tests/controls/treectrltest.cpp index 3d03a768eb..2b1cd2e2ed 100644 --- a/tests/controls/treectrltest.cpp +++ b/tests/controls/treectrltest.cpp @@ -279,9 +279,10 @@ void TreeCtrlTestCase::DeleteItem() EventCounter deleteitem(m_tree, wxEVT_TREE_DELETE_ITEM); wxTreeItemId todelete = m_tree->AppendItem(m_root, "deleteme"); + m_tree->AppendItem(todelete, "deleteme2"); m_tree->Delete(todelete); - CPPUNIT_ASSERT_EQUAL(1, deleteitem.GetCount()); + CPPUNIT_ASSERT_EQUAL(2, deleteitem.GetCount()); } void TreeCtrlTestCase::DeleteChildren()