diff --git a/src/qt/treectrl.cpp b/src/qt/treectrl.cpp index 2493744c4d..0d7df70b35 100644 --- a/src/qt/treectrl.cpp +++ b/src/qt/treectrl.cpp @@ -855,14 +855,8 @@ wxTreeItemId wxTreeCtrl::GetFirstChild( wxTreeItemIdValue& cookie ) const { - wxCHECK_MSG(item.IsOk(), wxTreeItemId(), "invalid tree item"); - cookie = 0; - QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item); - - return qTreeItem->childCount() > 0 - ? wxQtConvertTreeItem(qTreeItem->child(0)) - : wxTreeItemId(); + return GetNextChild(item, cookie); } wxTreeItemId wxTreeCtrl::GetNextChild( @@ -873,17 +867,17 @@ wxTreeItemId wxTreeCtrl::GetNextChild( wxCHECK_MSG(item.IsOk(), wxTreeItemId(), "invalid tree item"); wxIntPtr currentIndex = reinterpret_cast(cookie); - ++currentIndex; const QTreeWidgetItem *qTreeItem = wxQtConvertTreeItem(item); + wxTreeItemId childItem; if ( currentIndex < qTreeItem->childCount() ) { + childItem = wxQtConvertTreeItem(qTreeItem->child(currentIndex++)); cookie = reinterpret_cast(currentIndex); - return wxQtConvertTreeItem(qTreeItem->child(currentIndex)); } - return wxTreeItemId(); + return childItem; } wxTreeItemId wxTreeCtrl::GetLastChild(const wxTreeItemId& item) const